A imagem utilizada para o projeto é a nodejs:21-bullseye-slim. As dependências foram escolhidas com base no menor número possível de dependências (small footprint).
- Fastify: Framework web para aplicações javascript com foco em performance;
- Drizzle: ORM para TypeScript;
- Zod: Validação de dados com TypeScript;
- PostgreSQL: Banco de dados relacional;
- Vitest: Framework de testes, utilizado para realizar testes unitários;
# Instalar as dependências
npm i
# Make a copy of '.env.example' to '.env'
# and set with YOUR environment variables.
$ cp .env.example .env
# Iniciar o projeto
docker compose up -d
# Executar as migrations
npm run db:migrate
# Executar o seed
npm run db:seed
# Executar o projeto em modo de desenvolvimento
npm run start:dev