Skip to content

Felipebc2/Hackathon-1.25

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👾 Hackathon-1.25 IDP 👾

Sharebite

Sistema desenvolvido durante a 5ª edição do Hackathon do IDP em apenas 20h com foco em reduzir o desperdício de alimentos e conectar empresas doadoras com pessoas em vulnerabilidade, respeitando as normas da ANVISA. A aplicação permite validar alimentos, gerar relatórios interativos e integrar incentivos sociais e fiscais, tudo com suporte de IA que age como um agente inspetor da ANVISA e valida se os alimentos estão próprios para consumo ou não.

🐍 Ferramentas e Linguagens Utilizadas

Descrição do Projeto

A plataforma opera com três módulos principais:

  • Interface Web (Streamlit): onde usuários registram e acompanham doações.
  • Backend Flask (API): que realiza a lógica de validação e processamento.
  • Banco de dados MongoDB: armazena alimentos, doações, empresas e registros históricos.

O sistema também se destaca por:

  • Validação automática dos alimentos com base em critérios da ANVISA.
  • Relatórios com gráficos interativos sobre desempenho e impacto social.
  • Proposta de integração com o programa Nota Legal (DF) para gerar incentivos fiscais a empresas doadoras.
  • Uso de IA (Gemini API) para análises e suporte à tomada de decisão.

✅ O que foi Desenvolvido

  • Interface de formulário para empresas e dashboard com Streamlit.
  • Relatórios com dados de doações, rejeições e excedente.
  • Integração com modelo de IA para auxiliar inspeção e triagem.
  • Sistema dockerizado para facilitar deploy e execução local.

🗂️ Estrutura do Projeto

Hackathon-1.25/
├── app/                                 # Backend Flask (API)
│ └── app.py                              │
│ └── validator                           │
│   └── engine.py                         │
│   └── rules.yaml                        │
├── database/                             # Dados de exemplo (.csv)
│ └── Produtos.csv                        │
│ └── Empresas.csv                        │
│ └── Validacao.csv                       │
├── frontend/                             # Frontend com Streamlit
│ └── home.py                             │
│ └── pages                               # pasta com as páginas do streamlit
│ └── img                                 # pasta com as imagens do frontend
│ └── gemini/                             # Integração com IA (Google Gemini)
│     └── gemini_chat.py                  │
│     └── prompt_template.txt             # template de texto para a AI
├── .env                                  # Variável de ambiente
├── Dockerfile                            # Dockerfile da API Flask
├── docker-compose.yml                    # Orquestração dos serviços
└── requirements.txt                      # Dependências Python

🧪 Como Executar o Projeto

Pré-requisitos: Docker, Docker Compose, GitHub e conexão com a internet.

1. Clone o repositório

git clone https://github.com/Felipebc2/Hackathon-1.25.git
cd Hackathon-1.25

2. GEMINI_API_KEY

echo "GEMINI_API_KEY=sua-api-key" > .env
  • Para obter a chave, Acesse o link https://aistudio.google.com/app/apikey e faça login com sua conta google. No canto superior direito da tela clique no botão "Criar chave de API", Após isso crie um arquivo .env com a chave de API gerada pelo gemini.

3. Subir os container com Docker

docker compose up -d --build
  • Caso algum requerimento esteja faltando instale com pip install -r requeriments.txt ou pip install X, trocando o X pelo requerimento faltante.

Requerimentos

flask
streamlit
requests
pymongo
pyyaml
google-generativeai
python-dotenv
matplotlib

4. Execute o Streamlit

streamlit run ./frontend/home.py
  • Se estiver dentro da pasta do front end apenas rode
streamlit run home.py

Observações

  • A IA utilizada pode ser trocada ou expandida para novos modelos via Gemini.
  • O sistema aceita expansão para novos critérios sanitários da ANVISA.
  • Funcionalidade de login, controle de acesso, permissões, leitura de imagens, prompt interagível e troca de Streamlit para outro Frontend serão adicionados no futuro.

Equipe

  • Felipe Castro
    • Dev Full Stack
    • Integração Software-IA
  • Fábio Luis de Carvalho Terra
    • Dev Front End
    • Database Administrator
  • Sara Pacheco de Azevedo
    • Product Owner
    • Scrum Master
  • Pietro Branco
    • Integração Software-IA
    • Requirements Analyst

Este projeto está licenciado sob a MIT License.

© 2025 Felipe Castro, Fábio Terra, Sara Azevedo, Pietro Branco. Todos os direitos reservados.

About

Projeto ShareBite, Análise de Excedente e Doações.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •