Desafio 4 - Desafio Prático em Grupo: "API de Otimização de Rotas Distribuída em Microservices e Deployment em EC2"
├── node_modules/
├── apps/
├── test/
├── libs/
├── docs/
├── .dockerignore
├── .env.example
├── .gitignore
├── .prettierrc
├── docker-compose.yaml
├── eslint.config.mjs
├── nest-cli.json
├── package.json
├── README.md
├── tsconfig.build.json
├── tsconfig.json
- Node.js (versão 20 ou superior)
- Docker
- Docker Compose
- Nest CLI
- Clone o repositório:
$ git clone https://github.com/seu-usuario/seu-repositorio.git
$ cd seu-repositorio- Instaler as dependências
$ npm install- Inicie o ambiente Docker:
$ docker compose up -dAs seguintes variáveis devem ser inseridas e mantidas manualmente no ambiente ou na coleção, sendo usadas para definir a conectividade e os endpoints dos serviços.
| Variável | Valor Padrão/Exemplo | Descrição |
|---|---|---|
URL |
http://localhost ou IP da aws |
A URL base do host do serviço. |
API-GATEWAY_PORT |
3000 |
Porta do serviço API Gateway. |
USERS_PORT |
3001 |
Porta do microsserviço de Usuários. |
USERS_PREFIX |
/users |
Prefixo de rota para o microsserviço de Usuários. |
AUTH_PORT |
3002 |
Porta do microsserviço de Autenticação. |
AUTH_PREFIX |
/auth |
Prefixo de rota para o microsserviço de Autenticação. |
PONTOS_PORT |
3003 |
Porta do microsserviço de Pontos. |
PONTOS_PREFIX |
/pontos |
Prefixo de rota para o microsserviço de Pontos. |
ROTA_PORT |
3004 |
Porta do microsserviço de rotas de entrega. |
ROTA_PREFIX |
/rota |
Prefixo de rota para o microsserviço de rotas de entrega. |
Os valores destas variáveis são inseridos automaticamente por scripts de Teste do Postman, geralmente após uma requisição de sucesso (ex: login ou criação de recurso).
TOKEN- Uso: Armazena o token de autenticação (JWT).
USER_ID- Uso: Armazena o ID do usuário criado.
POINTS_ID- Uso: Armazena o ID dos pontos de entrega criados.
ROUTE_ID- Uso: Armazena o ID da primeira rota de entrega quando busca o histórico.
# Testes unitários
$ npm run test
# Testes e2e
$ npm run test:e2e
# Cobertura de testes
$ npm run test:cov- Faça o git clone do projeto localmente
- Crie uma branch para sua feature ou correção:
git checkout -b feature/nome-da-feature- Faça suas alterações seguindo as convenções do projeto
- Adicione e commit suas alterações (seguindo as convenções de commit)
- Faça a push para sua branch:
git push origin feature/nome-da-feature- Abra um Pull Request para a branch dev do projeto
Usamos o padrão Conventional Commits para mensagens de commit. Todos os commits devem seguir este formato:
<tipo>[escopo opcional]: <descrição>
[corpo opcional]
[rodapé(s) opcional(is)]
- feat: Uma nova funcionalidade
- fix: Correção de bug
- docs: Alterações na documentação
- style: Mudanças que não afetam o código (formatação, espaços em branco, etc)
- refactor: Refatoração de código que não corrige um bug nem adiciona uma feature
- perf: Melhorias de performance
- test: Adição ou correção de testes
- build: Mudanças que afetam o sistema de build ou dependências externas
- ci: Mudanças em arquivos de configuração de CI
- chore: Outras mudanças que não modificam src ou test
feat(auth): JWT authentication implementation
Add authentication system using JWT with token expiration
- Utilize TypeScript para todo o código
- Escreva testes para todas as novas funcionalidades
- Use injeção de dependência conforme o padrão do NestJS
main: Branch principal do projeto, sempre estáveldev: Branch de desenvolvimento, onde as features são integradas
Este projeto está sendo desenvolvido por:
- [Felipe Do Nascimento Martins Para] (@Fepara)
- [João Guilherme Pivvato] (@joaopivatto)
- [João Pedro de Souza Rodrigues] (@Joxxxua)
- [José Cavalcanti Rodrigues Cavalcanti] (@josemarcelo0521)
- [Pedro Arthur Rodrigues Basto] (@PedroArthur06)
