O SafraTech é uma solução de software projetada para garantir transparência, segurança alimentar e controle de qualidade na cadeia produtiva de morangos. Através de uma arquitetura moderna, o sistema permite o rastreamento granular de lotes desde a colheita até o consumidor final, oferecendo perfis de acesso distintos para produtores, auditores e visitantes.
A rastreabilidade de alimentos é um requisito crítico para a segurança sanitária e certificação de qualidade. O SafraTech resolve o problema da desconexão de dados entre as etapas de produção.
- 📦 Rastreamento de Lotes: Histórico imutável de eventos (Colheita, Transporte, Armazenamento).
- 🔐 Controle de Acesso: Autenticação via JWT com roles específicas (ADMIN, PRODUTOR, FUNCIONARIO).
- 📊 Auditoria em Tempo Real: Visualização de dados para conformidade com normas sanitárias.
O projeto segue uma arquitetura de API RESTful desacoplada:
- Backend (Server): Desenvolvido em Java com Spring Boot, responsável pela regra de negócios, segurança (Spring Security) e persistência de dados no MongoDB.
- Frontend (Client): Single Page Application (SPA) em React, consumindo a API via Axios.
- Banco de Dados: MongoDB (NoSQL), escolhido pela flexibilidade de schema para armazenar metadados variados de diferentes lotes de produção.
| Categoria | Tecnologia |
|---|---|
| Linguagem | Java 17 |
| Framework | Spring Boot 3+ |
| Segurança | Spring Security + JWT (JSON Web Token) |
| Banco de Dados | MongoDB |
| Build Tool | Maven |
| Categoria | Tecnologia |
|---|---|
| Framework | React.js |
| Estilização | Styled-Components |
| Cliente HTTP | Axios |
| Gerenciador | NPM |
Antes de começar, certifique-se de ter instalado em sua máquina:
- Java JDK 17
- Node.js (v16 ou superior)
- MongoDB (Rodando localmente ou via Docker)
- Git
git clone [https://github.com/llucascr/PI_IV_ES_TIME-19.git](https://github.com/llucascr/PI_IV_ES_TIME-19.git)
cd PI_IV_ES_TIME-19O backend necessita de variáveis de ambiente para conectar ao banco de dados.
-
Navegue até a pasta do servidor:
cd backend -
Configuração de Ambiente: Defina as credenciais do seu MongoDB no terminal atual ou nas configurações de "Run Configuration" da sua IDE.
| Variável | Comando Exemplo |
|---|---|
| MB_URI | mongodb+srv://<USERNAME>:<PASSWORD>@clusterpi4.rdiy6em.mongodb.net/?retryWrites=true&w=majority&appName=ClusterPI4 |
-
Instale as dependências e execute:
mvn clean install mvn spring-boot:run
O Spring iniciará na porta padrão 8080.
-
Abra um novo terminal e navegue até a pasta web:
cd frontend -
Instale as dependências e inicie o projeto:
npm install npm start
A aplicação abrirá automaticamente em http://localhost:3000.
Em breve será implementada com Swagger UI