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