Skip to content

API de gerenciamento de alunos, professores e turmas.

License

Notifications You must be signed in to change notification settings

DevPhde/SchoolManager-API

Repository files navigation

School Manager-API

📝 Descrição do projeto

O projeto School Manager é uma API para gerenciamento escolar. Possibilita o cadastro de alunos, professores e criação de turmas, utilizando um professor e até 20 alunos.

A aplicação utiliza a biblioteca Bull, responsável pelo gerenciamento de filas (queues) com suporte a prioridade e retry para determinados tipos de jobs. A persistência das filas é realizada através do Redis.

Foi desenvolvida em TypeScript, seguindo padrões de projeto como SOLID, DDD e Clean Architecture. Esses padrões têm como objetivo promover a separação de preocupações, modularidade, testabilidade e escalabilidade do código.

O framework Express.js foi utilizado para criação das APIs e queries SQL foram empregadas para acessar os dados no banco de dados PostgreSQL.

🔧 Tecnologias Utilizadas

Express.js, TypeScript, PostgreSQL, Redis, Bull(Queue Lib) e Docker.



🚀 Implementação futura

  • Sem planos futuros para o mesmo.

Como Rodar o Projeto

Observação: Para rodar o projeto é necessário ter o Docker instalado e configurado na máquina.

Para executar o projeto, siga os passos abaixo:

  1. Abra o terminal e navegue até a pasta raiz do projeto.

  2. Execute o seguinte comando:

docker-compose up

Esse comando irá gerar as imagens do Redis e do PostgreSQL e inicializará o servidor na porta 3000.

Observação: É importante lembrar que a primeira execução do comando pode levar alguns minutos, pois o Docker precisa baixar as imagens necessárias para o projeto.

  1. Acesse o servidor através do endereço http://localhost:3000.

Com esses passos, o projeto deverá estar rodando corretamente na sua máquina.

📚 Documentação da API

Documentação criada utilizando Swagger e está disponível em localhost:3000/doc-api.

🎯 Status do projeto

Concluído.