Este repositório contém o serviço de notificações, configurado para rodar facilmente com Docker e Makefile.
Certifique-se de ter as seguintes ferramentas instaladas em sua máquina:
- Docker
- Docker Compose
- Make (Geralmente já instalado em sistemas Linux/Unix)
-
Clone o repositório:
git clone git@github.com:moveis-simonetti/notificacoes.git cd notificacoes -
Configure as variáveis de ambiente:
Copie o arquivo de exemplo
.env.distpara.env:cp .env.dist .env
Edite o arquivo
.envconforme necessário para o seu ambiente local. As configurações padrão geralmente funcionam para desenvolvimento local com Docker.
Se você acabou de clonar o repositório e nunca rodou o projeto antes, utilize o comando de setup. Ele fará toda a configuração inicial necessária:
make setupEste comando executa os seguintes passos:
- Configura Aliases: Adiciona o domínio
notificacoes.testao seu/etc/hosts(requer senha de sudo). - Cria .env: Copia o arquivo
.env.distpara.env(se não existir). - Build Images: Constrói as imagens Docker do projeto.
- Inicia o Projeto: Sobe os containers e roda as migrações.
Para iniciar o projeto no dia a dia (após já ter feito o setup inicial), utilize:
make upEste comando é ideal para sua rotina de desenvolvimento, pois ele:
- Sobe os containers do Docker em background.
- Instala/Atualiza as dependências do Node.js (
npm install). - Executa as migrações do banco de dados pendentes (
prisma migrate dev).
O docker-compose.yml define os seguintes serviços:
- App (Node.js): Roda na porta
3000. - Database (MySQL): Acessível externamente na porta
3309(internamente3306). - Redis: Acessível externamente na porta definida em
REDIS_PORT(padrão6379) ou6389.
src/: Código fonte da aplicação.prisma/: Esquemas e migrações do banco de dados.cli/: Scripts utilitários de linha de comando.docker-compose.yml: Definição dos serviços Docker.Makefile: Atalhos para comandos de desenvolvimento.
O projeto inclui um Makefile para facilitar tarefas comuns. Você pode ver a lista completa de comandos rodando:
make helpAlguns dos comandos mais utilizados:
make setup: Configura o projeto do zero (aliases, .env, build, up).make up: Inicia o projeto (containers, install, migrations).make docker-up: Sobe apenas os containers Docker.make npm-install: Instala dependências do Node.js.make prisma-diff: Roda as migrações do banco de dados.make studio: Abre o Prisma Studio.
O Prisma Studio é uma interface visual para o seu banco de dados. Para acessá-lo:
- Execute o comando:
make studio
- Acesse no navegador: http://localhost:5555
Isso permite visualizar e editar os dados do banco de forma fácil.
Erro de conexão com o banco de dados:
Certifique-se de que o container db está saudável (healthy). Você pode verificar com:
docker compose psSe o banco estiver iniciando, aguarde alguns segundos e tente rodar make prisma-diff novamente.