Este projeto consiste num sistema de gerenciamento de E-Commerce simplificado, contando com usuários, login, produtos, carrinhos e relatório de venda de produtos.
- NestJS: Framework Node.js para criar aplicações eficientes e escaláveis.
- TypeScript: Linguagem usada para o desenvolvimento do projeto.
- PostgreSQL: Banco de dados utilizado.
- Prisma: ORM para interação com o banco de dados.
- Stripe: Para simulação de pagamentos.
- Jest: Framework de testes.
- Docker e Docker Compose instalados
- Node.js e Yarn instalados
- Conta no Mailtrap para enviar e-mails
- Conta no Stripe para integração de pagamentos
Clone o repositório via https, SSH ou GitHub CLI.
Instale as dependências dos projetos via npm, pnpm ou yarn (utilizado durante o desenvolvimento).
Caso não tenha um container do PostgreSQL na porta 5432 com usuário postgres:postgres, utilize o docker-compose do projeto para subir um container com o seguinte comando:
docker compose up -d
Caso não tenha feito ainda, vá até os sites listados no tópico de requisitos e faça suas contas no Mailtraip e Stripe.
Copie o example.env
renomeie-o para .env
, você pode utilizar o seguinte comando:
cp example.env .env
Não esqueça de prenchar as variáveis de ambiente do Mailtrap e Stripe, do contrário a aplicação não funcionará.
Utilize o comando abaixo para rodar as migrations e a seed do prisma.
yarn prisma migrate deploy
Utilize o comando abaixo para incializar o servidor.
yarn start:prod
Caso tenha interesse, é possível iniciar uma rodada de testes unitários automatizados com o seguinte comando:
yarn test:unit