Projeto Java + Angular
Backend
- Java Versão: 22 Descrição: Linguagem de programação usada para desenvolver a lógica do servidor.
- Spring Boot Versão: 3.2.4 Descrição: Framework para simplificar o desenvolvimento de aplicativos Java, fornecendo configuração automática e suporte integrado para segurança, dados, mensageria e muito mais.
- Spring Data JPA Descrição: Facilita a implementação de repositórios baseados em JPA.
- Spring Validation Descrição: Fornece suporte para validação de dados de entrada.
- Spring Boot DevTools Descrição: Ferramentas para facilitar o desenvolvimento, como recarregamento automático.
- Lombok Descrição: Biblioteca para reduzir o código boilerplate em classes Java, como getters, setters, e construtores.
- PostgreSQL Descrição: Banco de dados relacional usado para armazenar dados de aplicação. Imagem Docker: postgres:latest
- Redis Descrição: Banco de dados em memória usado para cache e armazenamento de dados temporários. Imagem Docker: redis:latest
- Spring Boot Actuator Descrição: Fornece endpoints prontos para monitoramento e gerenciamento da aplicação.
- Springdoc OpenAPI Descrição: Fornece documentação da API usando o padrão OpenAPI.
- JUnit Descrição: Framework de teste para Java.
- Mockito Descrição: Framework de mocking para testes unitários.
- Maven Descrição: Ferramenta de automação de build e gerenciamento de dependências.
- Docker Descrição: Ferramenta para criar, implantar e executar aplicativos em contêineres. Frontend
- Angular Versão: 18 Descrição: Framework para desenvolvimento de aplicações web single-page.
- Angular Material Descrição: Biblioteca de componentes UI que segue as especificações do Material Design.
- TypeScript Descrição: Superset do JavaScript que adiciona tipagem estática opcional e outros recursos.
- SCSS Descrição: Sintaticamente, CSS aninhado que é mais poderoso que o CSS tradicional.
- Karma Descrição: Executor de teste para JavaScript.
- Jasmine Descrição: Framework de teste para JavaScript.
- Node.js Descrição: Ambiente de tempo de execução do JavaScript.
- Nginx Descrição: Servidor web usado para servir a aplicação Angular em produção. Imagem Docker: nginx:alpine Infraestrutura
- Docker Compose Descrição: Ferramenta para definir e executar aplicações multi-contêiner Docker. Utilizada para orquestrar os contêineres do backend, frontend, banco de dados PostgreSQL e Redis. Arquitetura
- DDD (Domain-Driven Design) Descrição: Abordagem de design de software que se concentra na modelagem do domínio da aplicação com base nas necessidades de negócios.
- Microservices Descrição: Arquitetura onde a aplicação é dividida em pequenos serviços independentes que comunicam entre si.
- SOLID Principles Descrição: Conjunto de princípios de design de software para criar sistemas de software mais compreensíveis, flexíveis e de fácil manutenção. Configuração e Implementação
- Dockerfiles Descrição: Arquivos que definem como criar as imagens Docker para o backend e frontend.
- Proxy Configuration Descrição: Configuração do proxy para permitir a comunicação entre o frontend e o backend durante o desenvolvimento.
- Network Configuration Descrição: Configuração de redes Docker para permitir a comunicação entre os diferentes contêineres. Este projeto é um exemplo robusto de uma aplicação full-stack moderna, utilizando uma ampla gama de tecnologias para garantir escalabilidade, desempenho e facilidade de manutenção.