Skip to content

Repository files navigation

📝 Gerenciador de Tarefas Eficaz 📝

Este projeto é API robusta para gerenciamento de tarefas, desenvolvida com TypeScript e utilizando boas práticas como testes automatizados, validação de dados e organização em camadas. A estrutura sugere integração com um banco de dados MongoDB e uso do Express para rotas.

🚀 Tecnologias Utilizadas:

  • Node.js
  • TypeScript
  • Express.js
  • MongoDB

📂 Arquitetura do Projeto

O projeto segue uma arquitetura em camadas, separando as responsabilidades da aplicação para melhor organização e manutenção.

📁 src/

Diretório principal contendo o código-fonte da aplicação.

  • adapters/: Adaptadores para frameworks e bibliotecas externas.
    • controllers/: Controllers da API, gerenciando as requisições e respostas.
      • task/: Controllers relacionados a tarefas.
    • expressRouteAdapter.ts: Adaptador para utilizar rotas do Express.js.
    • factories/: Factories para criação de objetos.
    • interfaces/: Interfaces que definem contratos.
    • presentations/: Lógica de apresentação da API.
      • api/: Configuração e estrutura da API.
        • config/: Arquivos de configuração da API.
        • errors/: Tratamento de erros da API.
        • httpResponses/: Respostas HTTP personalizadas.
        • middlewares/: Middlewares da API (ex: CORS).
        • routes/: Definição das rotas da API.
    • validations/: Classes e funções para validação de dados.
  • dataSources/: Camada de acesso a dados.
    • config/: Configurações de conexão com o banco de dados.
    • db/: Implementação do acesso ao banco de dados.
      • repository/: Repositórios para interação com o MongoDB.
  • entities/: Entidades de domínio da aplicação.
    • task.ts: Entidade que representa uma tarefa.
  • usecases/: Casos de uso da aplicação, representando as regras de negócio.
    • addTask.ts, deleteTask.ts: Casos de uso para adicionar e remover tarefas.
    • repository/: Interfaces de repositórios para os casos de uso.
  • index.ts: Ponto de entrada da aplicação.

📁 dist/

Diretório para os arquivos compilados da aplicação.

📄 Arquivos da raiz

  • .eslintignore, .eslintrc.json: Configurações do ESLint para estilo de código.
  • .git/: Pasta do sistema de controle de versão Git.
  • .gitignore: Define arquivos e pastas ignorados pelo Git.
  • .prettierrc: Configurações do Prettier para formatação de código.
  • .vscodeignore: Define arquivos e pastas ignorados pelo VS Code.
  • CHANGELOG.md 📑: Histórico de mudanças do projeto.
  • docker-compose.yml: Arquivo para configuração de containers Docker.
  • package-lock.json, package.json 📦: Gerenciamento de dependências.
  • README.md 📄: Este arquivo, que você está lendo agora! 😊
  • tsconfig.json ⚙️: Configurações do compilador TypeScript.

Observações Adicionais:

  • A utilização de Docker sugere que o projeto está preparado para ser executado em um ambiente containerizado.
  • A estrutura bem organizada e a separação de responsabilidades indicam um código mais fácil de entender, manter e evoluir.

Próximos Passos:

  • Detalhar a documentação da API (rotas, parâmetros, etc.) dentro do diretório docs/.
  • Adicionar informações sobre como executar o projeto (ex: comandos para build, iniciar a API, etc.).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages