Skip to content

API REST + Interface para portal de denúncias ambientais utilizando Java Spring e Javascript.

License

Notifications You must be signed in to change notification settings

rogeriobgregorio/environmental-reporting-portal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Environmental Reporting Portal

Status

O Environmental Reporting Portal é uma Aplicação Web robusta (API REST + Interface), para um Portal de Denúncias Ambientais, que permite reportar situações que prejudicam o meio ambiente. Sua API REST construída em Java e Ecossistema Spring, prioriza código limpo e implementação de princípios SOLID, além de Design Patterns para criar um software flexível, escalável e de fácil manutenção. A interface feita com HTML, CSS e Javascript é amigável e intuitiva para proporcionar maior usabilidade ao usuário. Utiliza tecnologias como MongoDB, JWT, JUnit, Mockito e log4j2 para garantir a qualidade e eficiência do sistema.

Demonstração

Assista ao vídeo demonstrativo: https://youtu.be/aoaOdXzpXEY

O Environmental Reporting Portal foi utilizado para o funcionamento do projeto ECOAR (Espaço de Concientização e Ação Ambiental Responsável). O sistema foi apresentado na 7º Engetec – Encontro de Gestão e Tecnologia, um evento científico organizado e sediado pela FATEC Zona Leste (Faculdade de Tecnologia da Zona Leste)

ecoar-gif

Problema a ser resolvido:

Este software visa resolver a falta de um canal seguro, eficiente e organizado para a denúncia e o monitoramento de problemas ambientais, proporcionando uma plataforma acessível para cidadãos e autoridades reportarem e acompanharem questões que afetam o meio ambiente, como poluição e infrações ambientais, com funcionalidades que garantem transparência, segurança e gestão eficaz das denúncias.

Principais funcionalidades:

  • Login seguro com JWT.
  • Postagem de denúncias com fotos.
  • Cadastro de Usuários e Administradores.
  • Opção de comentar postagens de denúncias.
  • Envio de e-mail ao usuário com atualizações de status.
  • Classificação das denúncias por gravidade, tipo e status.
  • Relatórios gráficos para acompanhamento de estatísticas.

Modelo Conceitual

Diagrama Entidade-Relacionamento diagram-der

Stack utilizada

Back-end:

  • Java 17
  • Spring Boot
  • Spring Data MongoDB
  • Spring Security
  • JWT
  • Junit
  • Mockito

Front-end:

  • HTML5
  • CSS3
  • Javascript
  • Charts.js

Banco de Dados:

  • MongoDB
  • MongoDB Compass

Documentação

Documentação da API: a documentação completa da API pode ser acessada localmente ao executar a aplicação e visitar http://localhost:8080/api/v1/swagger-ui/index.html#. Esta interface interativa, gerada pelo Swagger, fornece detalhes sobre cada endpoint, parâmetros de solicitação, respostas esperadas e exemplos práticos de uso.

Rodando localmente

Siga as etapas abaixo para configurar e executar o projeto Java com Spring localmente:

  1. Certifique-se de ter o Java 17 JDK instalado. Caso não tenha, faça o download e a instalação a partir do site oficial da Oracle.

  2. Clone o repositório do projeto:

  git clone https://github.com/rogeriobgregorio/environmental-reporting-portal
  1. Acesse o diretório do projeto:
  cd environmental-reporting-portal
  1. Execute o projeto:
  ./mvnw spring-boot:run

Caso prefira, abra o projeto em uma IDE, como IntelliJ por exemplo, e execute o projeto.

Após concluir essas etapas, o seu servidor Spring estará em execução localmente na porta 8080.

A interface para consumir a API esta localizada na pasta "front-end".

  1. Abra a página index.html no browser utilizando um servidor, como live server por exemplo.

  2. Importante: você deve atribuir valores nas variáveis de ambiente do projeto JWT_SECRET e PASSWORD_SECRET.

  3. Para logar como administrador utilize o usuário [email protected], a senha será o valor que você atribui à variável PASSWORD_SECRET no passo anterior.

Referência

  • Spring Framework: consulte a documentação oficial do Spring Framework para obter informações detalhadas sobre o framework utilizado no backend. Esta referência abrange conceitos fundamentais, configurações avançadas e as melhores práticas recomendadas pela comunidade Spring.

  • Charts.js: biblioteca de JavaScript utilizada para a criação de gráficos interativos e visualizações de dados em páginas web. Popular devido à sua simplicidade de uso e ao fato de ser baseada em HTML5 canvas, o que permite gerar gráficos em tempo real, mesmo em dispositivos móveis.

  • Swagger Documentation: o Swagger é integrado à API para facilitar a compreensão e interação. Obtenha mais informações sobre o Swagger em https://swagger.io/.

Autor

Rogério Bernardo Gregório

About

API REST + Interface para portal de denúncias ambientais utilizando Java Spring e Javascript.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published