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.
Express.js, TypeScript, PostgreSQL, Redis, Bull(Queue Lib) e Docker.
- Sem planos futuros para o mesmo.
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:
-
Abra o terminal e navegue até a pasta raiz do projeto.
-
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.
- 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 criada utilizando Swagger e está disponível em localhost:3000/doc-api
.
Concluído.