Skip to content

Repository files navigation

MonneyAPI

Um projeto feito em NestJS para o backend do aplicativo web MonneyApp.

🚀 Tecnologias utilizadas

Este projeto é desenvolvido com as seguintes tecnologias:

⚙️ Configuração e Execução

Siga os passos abaixo para rodar o projeto localmente:

  1. Clone o repositório:
git clone https://github.com/daniloamsilva/monney-api.git
  1. Acesse o diretório do projeto
cd monney-api
  1. Instale as dependências:
npm install
  1. Crie o arquivo .env:
cp .env.example .env
  1. Inicie os containers Docker:
docker compose up -d
  1. Rode as migrations
npm run migration:up
  1. Rode os testes automatizados (opcional):
npm test
  1. Inicie o servidor:
npm run start:dev

O projeto estará disponível em http://localhost:3000.

🐳 Serviços Docker

Este projeto utiliza um ambiente Docker com os seguintes serviços definidos no compose.yml:

📦 database: Container principal do PostgreSQL usado pela aplicação.

  • Imagem: postgres:17.2-alpine3.21
  • Porta Exposta: ${DB_PORT}:5432
  • Variáveis de Ambiente: definidas via .env (DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD)

🧪 test-database: Instância separada do PostgreSQL utilizada exclusivamente para testes.

  • Imagem: postgres:17.2-alpine3.21
  • Porta Exposta: ${DB_TEST_PORT}:5432
  • Importante: Usa as mesmas credenciais e banco da instância principal, mas escuta em uma porta diferente para evitar conflitos.

⚡ redis: Servidor Redis para cache ou fila de mensagens.

  • Imagem: redis:7.4-alpine
  • Porta Exposta: ${REDIS_PORT}:6379
  • Senha: definida via variável REDIS_PASSWORD (recomenda-se manter segura no .env)
  • Configuração Extra: Utiliza --requirepass para exigir autenticação

📬 mailpit: Servidor SMTP fake e visualizador de emails para desenvolvimento.

  • Imagem: axllent/mailpit:latest
  • Portas Expostas:
  • Interface Web: 8025
  • SMTP: ${MAIL_PORT}:1025

About

API em NestJS do aplicativo web MonneyApp

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages