https://github.com/devphde/schoolmanager-api
API de gerenciamento de alunos, professores e turmas.
https://github.com/devphde/schoolmanager-api
background-jobs ddd-architecture docker nodejs postgresql redis solid-principles sql typescript
Last synced: 3 months ago
JSON representation
API de gerenciamento de alunos, professores e turmas.
- Host: GitHub
- URL: https://github.com/devphde/schoolmanager-api
- Owner: DevPhde
- License: mit
- Created: 2023-05-18T02:39:23.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-09T22:22:55.000Z (about 3 years ago)
- Last Synced: 2025-02-25T21:33:28.718Z (over 1 year ago)
- Topics: background-jobs, ddd-architecture, docker, nodejs, postgresql, redis, solid-principles, sql, typescript
- Language: TypeScript
- Homepage:
- Size: 120 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# School Manager-API
## :memo: 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.
## :wrench: Tecnologias Utilizadas
Express.js, TypeScript, PostgreSQL, Redis, Bull(Queue Lib) e Docker.
## :rocket: 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.
3. Acesse o servidor através do endereço `http://localhost:3000`.
Com esses passos, o projeto deverá estar rodando corretamente na sua máquina.
## :books: Documentação da API
Documentação criada utilizando Swagger e está disponível em ```localhost:3000/doc-api```.
## :dart: Status do projeto
Concluído.