O Vacation Manager é uma aplicação desenvolvida para gerenciar as férias de servidores públicos. Permitindo solicitar férias, aprovar ou reprovar solicitações, acompanhar o status e gerenciar pagamentos relacionados às férias. O projeto é composto por API REST desenvolvida com Java/Spring Boot e aplicação móvel criada usando Typescript/Expo/React Native.
- Modelo de Dados
- Endpoints da API
- Protótipo de Baixa Fidelidade
- Instruções para Executar a API com Docker Compose
O sistema Vacation Manager utiliza as seguintes entidades principais:
- id: Identificador único (long)
- nome: Nome do servidor (String)
- ferias: Coleção de férias associadas (Collection)
- pagamentos: Coleção de pagamentos associados (Collection)
- id: Identificador único (long)
- inicio: Data de início das férias (LocalDate)
- fim: Data de fim das férias (LocalDate)
- status: Status da solicitação (Status: APROVADA, REPROVADA, EMANALISE)
- servidor: Servidor associado (Servidor)
- id: Identificador único (long)
- valor: Valor do pagamento (double)
- data: Data do pagamento (LocalDate)
- servidor: Servidor associado (Servidor)
Enumeração com os valores:
- APROVADA
- REPROVADA
- EMANALISE
A API do Vacation Manager oferece os seguintes endpoints:
-
GET
/ferias/{id}: Retorna as informações das férias aprovadas para o ID especificado. -
POST
/ferias: Cadastra uma solicitação de férias.
-
GET
/servidores/{id}/ferias: Retorna a lista de férias associadas ao servidor com o ID especificado. -
POST
/servidores: Cadastra um servidor no sistema.
-
GET
/pagamentos: Retorna todos os pagamentos de formada paginada. -
POST
/pagamentos: Cadastra um pagamento no sistema.
Abaixo é apresentado os protótipos das telas que ilustram o funcionamento do sistema:

Para executar a API utilizando Docker Compose, siga os passos abaixo:
-
Certifique-se de que o Docker e o Docker Compose estão instalados no seu sistema.
-
Navegue até o diretório raiz do projeto onde está localizado o arquivo
docker-compose.yml. -
Execute o comando para compilar e gerar o arquivo .jar:
./mvnw package -
Execute o comando para construir e iniciar os serviços:
docker compose up --build -
A API estará disponível na porta definida no
docker-compose.yml: porta 2000, sendo a url base:http:localhost:2000/. -
Para parar os serviços, execute:
docker compose down

