Backend do sistema de agendamento de equipamentos da EEEP Elsa Porto
API REST para reserva de equipamentos e espaços escolares por professores, com gestão administrativa, controle de conflitos e auditoria.
A Agendaê API é o backend de um sistema de agendamento de equipamentos e espaços de uma instituição de ensino. Professores reservam recursos (notebooks, projetores, microfones, espaços, etc.) para horários de aula específicos, vinculando cada reserva a uma ou mais turmas. Administradores gerenciam o catálogo de equipamentos, as turmas e os professores.
- Autenticação JWT com Access/Refresh Tokens e senhas protegidas com Argon2.
- Convite e ativação de contas de professores.
- Gestão completa de equipamentos, turmas e professores.
- Sistema de agendamentos com prevenção de conflitos utilizando PostgreSQL e Redis.
- Exportação de comprovantes em PDF.
- Auditoria de ações administrativas.
- Rate limiting para endpoints críticos.
- Documentação OpenAPI (Swagger) integrada.
- JDK 21
- PostgreSQL
- Redis
cp .env.example .envConfigure as variáveis de ambiente conforme sua instalação.
./gradlew bootRunou
.\gradlew.bat bootRunA API estará disponível em:
| Serviço | Endereço |
|---|---|
| API | http://localhost:8080 |
| Swagger | http://localhost:8080/swagger-ui.html |
| Health | http://localhost:8080/actuator/health |
./gradlew build
./gradlew bootJar
java -jar build/libs/agendae-1.0.0.jarTodas as configurações da aplicação são feitas por variáveis de ambiente.
Consulte: .env.example
| Perfil | Permissões |
|---|---|
| USER | Gerencia seus próprios agendamentos e consulta recursos. |
| ADMIN | Administração completa da plataforma, incluindo usuários, equipamentos, turmas e auditoria. |