- Descrição do Projeto
- Tecnologias Utilizadas
- Execução do Projeto
- Sequência de Funcionamento
- Banco de Dados
- Swagger
- Deploy
- Testes com Insomnia
- Endpoints - Acesso Rápido
- Ordem Recomendada para Testes
- Prints do Swagger
- Autores
O SMAE é um sistema backend construído com Java Spring Boot, seguindo arquitetura REST. Seu objetivo é permitir o monitoramento de áreas de risco através de sensores ambientais, alertas automatizados e notificações aos usuários. Ele serve como base para integração com um aplicativo mobile e futuros sistemas distribuídos.
- Java: 21
- Spring Boot: 3.5.0
- Maven: gerenciamento de dependências
- Banco de Dados: Oracle
- Swagger: documentação da API
- Docker: para execução local simplificada
- Hospedagem: Render
- Mobile (futuro): React Native
git clone https://github.com/Pablo0703/java_global_solutiondocker-compose up./mvnw spring-boot:runhttp://localhost:8080
- Cadastro de Usuário
- Cadastro de Área de Risco
- Cadastro de Sensor
- Registro de Leitura do Sensor
- Criação de Alerta
- Inscrição em Alerta
- Geração de Notificação
- Conexão com Oracle DB
- Configuração via
application.propertiesouapplication.yml - Porta padrão:
1521
Informações sensíveis como login e senha foram omitidas.
- Local:
http://localhost:8080/swagger-ui/index.html - Deploy:
https://java-global-solution.onrender.com/swagger-ui/index.html
- Hospedagem via Render
- Produção:
https://java-global-solution.onrender.com
A API foi testada usando o Insomnia, realizando requisições:
POST: criação de entidadesPUT: atualização de registrosGET: listagem e busca por IDDELETE: exclusão de registros
Recomendado: criar um workspace no Insomnia e seguir os endpoints documentados via Swagger.
| Ambiente | Link |
|---|---|
| Local | http://localhost:8080 |
| Swagger Local | http://localhost:8080/swagger-ui/index.html |
| Render | https://java-global-solution.onrender.com |
| Swagger Render | https://java-global-solution.onrender.com/swagger-ui/index.html |
http://localhost:8080/usuarioshttp://localhost:8080/areashttp://localhost:8080/sensoreshttp://localhost:8080/leiturashttp://localhost:8080/alertashttp://localhost:8080/notificacoeshttp://localhost:8080/inscricoes
POST /usuariosPOST /areasPOST /sensoresPOST /leiturasPOST /alertasPOST /notificacoesPOST /inscricoes
A seguir, prints da documentação Swagger demonstrando cada etapa do funcionamento da API:
| Funcionalidade | Imagem |
|---|---|
| Cadastro de Usuário | ![]() |
| Cadastro de Área de Risco | ![]() |
| Cadastro de Sensor | ![]() |
| Leitura de Sensores | ![]() |
| Criação de Alerta | ![]() |
| Inscrição em Alerta | ![]() |
| Tela de Notificações | ![]() |
{
"usuario": {
"nome": "Joana Mendes",
"email": "joana@email.com",
"senha": "senhaSegura123",
"telefone": "11988887777",
"perfil": "CIDADAO"
},
"sensor": {
"idSensor": "SENSOR001",
"idArea": 1,
"tipoSensor": "NIVEL_AGUA",
"modelo": "Modelo-X",
"ultimaManutencao": "2025-06-01",
"statusSensor": "ATIVO"
},
"notificacao": {
"idAlerta": 100,
"idUsuario": 1,
"canalEnvio": "EMAIL"
},
"leituraSensor": {
"idSensor": "SENSOR001",
"valorLeitura": 2.8,
"unidadeMedida": "m"
},
"inscricaoAlerta": {
"idUsuario": 1,
"idArea": 1,
"receberEmail": true,
"receberSms": false,
"receberPush": true
},
"areaRisco": {
"nomeArea": "Bairro do Centro",
"latitude": -23.5505,
"longitude": -46.6333,
"nivelNormalEstacaoSeca": 1.2,
"nivelNormalEstacaoChuva": 2.0,
"nivelAlertaPreventivo": 2.5,
"nivelAlertaEmergencia": 3.0,
"nivelEvacuacao": 3.5,
"areaAlagadaAlerta": 1.5,
"areaAlagadaEmergencia": 2.5,
"metodoMedicaoNivel": "Sensor IoT",
"metodoMedicaoExtensao": "LIDAR",
"fonteDados": "Sistema Integrado",
"responsavelAtualizacao": "Equipe Técnica",
"descricao": "Área próxima ao rio com alto risco em época de chuvas"
},
"alerta": {
"idArea": 1,
"idLeituraGatilho": 10,
"tipoAlerta": "EMERGENCIA",
"mensagemAlerta": "Nível crítico atingido, evacuação necessária."
}
}---## 13. Autores
| RM | Nome |
|---|---|
| 556834 | Pablo Lopes Doria de Andrade |
| 558711 | Diego Santos Cardoso |
| 557047 | Vinicius Leopoldino de Oliveira |






