Essa aplicação foi baseada na arquitetura de microserviço serverless que consiste de microserviços que utilizam funções lambdas em conjunto com serverless.
É possível encontrar o contrato da API no caminho: /src/config/swagger.json
Para execução local é necessário as seguintes ferramentas:
Uma vez instaladas, basta seguir os seguintes passos:
- Clone o repositório
$ git clone git@github.com:AndreReliquias/e-commerce-app.git - Na raiz do projeto, execute o Docker Compose
$ docker-compose up - Para execução dos testes
$ docker-compose exec e-commerce-app sh -c "npm run test"
O projeto conta com uma pipeline de CI/CD provida pelo GitHub Actions, dessa forma, todos os commits que forem realizados na branch main, serão implantados em produção, e na branch development, serão implantados em desenvolvimento, ambos na nuvem da AWS. Caso queira realizar uma implantação fora da pipeline, os seguintes passos são necessários:
- Instale o serverless framework
$ npm install -g serverless - Instale as dependências
$ npm install - Exporte suas credenciais de acesso
$ export AWS_ACCESS_KEY_ID=ABC $ export AWS_SECRET_ACCESS_KEY=DEF - Execute o script para implantação em produção
$ npm run deploy-main - Execute o script para implantação em desenvolvimento
$ npm run deploy-development
Observação: A região padrão é us-east-1