Em resumo, trata-se de um sistema concebido para simplificar a rotina dos catadores de recicláveis. Os usuários têm a facilidade de solicitar uma coleta automática ou agendar um horário conveniente para a retirada dos materiais recicláveis de suas residências. Para os catadores, o sistema gera uma rota eficiente com até 10 coletas, otimizando o trajeto para maximizar a eficiência. Além disso, o aplicativo incorpora elementos de gamificação, oferecendo aos usuários a possibilidade de trocar pontos por produtos. A proposta é estabelecer parcerias estratégicas com empresas e prefeituras visando arrecadar produtos e fortalecer a iniciativa.
- Java 17
- Spring Boot 3
- Spring Security
- PostgreSQL com PostGIS para georreferenciamento
- Hibernate
- Flyway para migração de banco de dados
- Swagger para documentação da API
- Docker Compose
- Google Maps API para traçar rotas otimizadas de coleta
- Angular
- PrimeNG
- TypeScript
- Docker para conteinerização
- Cloudinary para armazenamento de arquivos
Configurar os seguintes arquivos .env
com as variáveis de ambiente necessárias:
- Na raiz do projeto:
.env
- No backend:
backend/.env
- No frontend:
frontend/src/environments/environment.ts
(para desenvolvimento, use o arquivoenvironment.dev.ts
)
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=senha
GOOGLE_MAPS_API_KEY=sua_chave_api_google_maps
Observação: Certifique-se de comentar ou descomentar a linha correta no arquivo
application.properties
no backend para configurar o SSL ao rodar localmente ou via Docker.
- Clonar o repositório:
git clone https://github.com/seu-usuario/ecocoleta.git
cd ecocoleta
-
Configurar os arquivos ******
.env
******** conforme descrito acima.** -
Iniciar o Backend:
- Abra o pacote backend no IntelliJ IDEA.
- Verifique o arquivo
application.properties
. - Execute a aplicação utilizando a classe principal.
-
Iniciar o Frontend:
- Acesse a pasta
frontend
e execute:
nvm install 20.9.0 nvm use 20.9.0 npm install ng serve
- O frontend estará disponível em https://localhost:4200
- Acesse a pasta
- Configurar os arquivos ******
.env
******** conforme descrito acima.** - Abrir o terminal na raiz do projeto e rodar os comandos:
docker compose build
docker compose up -d
- Verifique os containers:
- Banco de Dados, Backend e Frontend estarão ativos.
- Acesse a aplicação nos seguintes endereços:
- API: https://localhost:8080
- Frontend: https://localhost:4200
- Swagger UI: https://localhost:8080/swagger-ui.html
- Documentação JSON: https://localhost:8080/v3/api-docs
Os protótipos da aplicação estão disponíveis no Figma.
A monografia da aplicação pode ser acessada neste link: Overleaf
Projeto desenvolvido pelo aluno: Alvaro Pires
Orientador: Dr. Roni Fabio Banaszewski
- IDE: IntelliJ IDEA para backend e VSCode para frontend
- Gerenciador de banco de dados: DBeaver ou outro de preferência
- Cliente de API: Postman (ou Insomnia, se preferir)
Para testar a API, utilize o Postman e importe as configurações usando o botão abaixo:
- O sistema está preparado para ser executado tanto localmente quanto em ambientes conteinerizados usando Docker.
- A utilização de PostGIS permite um traçado eficiente das rotas de coleta com base na localização geográfica.
- Para ambientes de produção, revise as configurações SSL corretamente para garantir a segurança.