Skip to content

viniciusrodrigues1a/infinitum-api

Repository files navigation

Infinitum

Servidor para site de gerenciamento de projetos e bug tracking


Test workflow status Last commit date

Run in Insomnia

📄 Índice


🧐 Sobre o projeto

Trabalho de Conclusão de Curso apresentado à Escola Técnica Estadual Elias Nechar, como parte dos requisitos para a obtenção do título de Técnico em Desenvolvimento de Sistemas.


🔨 Tecnologias e ferramentas

nodejs typescript postgresql mongodb redis jest docker

Desenvolvido utilizando NodeJS e TypeScript.

Tecnologias de destaque:

  • 🧪 Testes de unidade e de integração com biblioteca Jest
  • 🔑 Autenticação JWT com biblioteca jsonwebtoken
  • 📦 Fila de processamento de e-mails com biblioteca Bull e banco de dados Redis
  • 📨 Envio de e-mails com biblioteca Nodemailer
  • 📑 Banco de dados MongoDB para armazenamento de notificações
  • ↔️ Estabelecendo conexão bidirecional com Socket.IO para atualizar informações em tempo real
  • 🐋 Conteinerização com Docker para isolar processos
  • 🚢 Orquestração de contêineres com Docker Compose

📫 Informações de contato

Sinta-se livre para me contatar através de uma das plataformas abaixo

Gmail

📃 Artigo

Faça o download do artigo aqui


💻 Rodando localmente

Clone o repositório

  git clone https://github.com/viniciusrodrigues1a/infinitum-api

Vá ao diretório do projeto

  cd infinitum-api

Renomeie o arquivo .env.example para .env e adicione as variáveis de ambiente

  cp .env.example .env
  nano .env

Instale as dependências

  yarn install

Inicie os contêineres do docker

  docker-compose up --detach --build

O servidor deve iniciar na porta definida pela variável PORT no arquivo .env


🧪 Rodando testes

Para rodar os testes de unidade, rode o seguinte comando

  yarn test:unit

Para rodar os testes de integração, rode o seguinte comando

  yarn test:integration

🏗️ Arquitetura

O projeto segue a arquitetura Clean Architecture, separado em três módulos (usuários, projetos e issues).

Estrutura de pastas mostrando a separação de módulos
Estrutura de pastas do projeto mostrando os diferentes módulos e suas camadas, conforme a Clean Architecture.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors