Skip to content

chore: Inicialização do projeto - Base para interface Streamlit e API backend FastAPI - #1

Merged
DanielDPereira merged 7 commits into
developfrom
setup
Jul 2, 2026
Merged

chore: Inicialização do projeto - Base para interface Streamlit e API backend FastAPI#1
DanielDPereira merged 7 commits into
developfrom
setup

Conversation

@DanielDPereira

Copy link
Copy Markdown
Owner

Este pull request estabelece a estrutura inicial do projeto BrasilnaCopaAI, incluindo o backend em FastAPI, o frontend em Streamlit, a configuração do ambiente e a documentação básica. Os principais destaques são a implementação de um endpoint de health check, a criação de um dashboard moderno em Streamlit e a inclusão dos arquivos essenciais para inicialização e organização do projeto.

Principais alterações

Backend

  • Criação da aplicação principal em app/main.py utilizando FastAPI, com configuração de CORS e implementação do endpoint /health para monitoramento da API.
  • Adição de arquivos __init__.py em todos os submódulos do backend (app/api, app/ingestion, app/models, app/rag, app/services e app/vectorstore), com comentários descritivos para definir cada diretório como um pacote Python.

Frontend

  • Desenvolvimento da aplicação em streamlit/app.py, com interface moderna, estilos personalizados, verificação da conectividade com o backend e seções para o chatbot e o status da base de conhecimento.
  • Inicialização do pacote Streamlit por meio de um arquivo __init__.py descritivo.

Configuração e documentação

  • Inclusão do arquivo .env.example contendo os modelos de variáveis de ambiente para chaves de API, configuração do ChromaDB e URL do backend.
  • Atualização do README.md com a URL correta para clonagem do repositório.
  • Atualização do docs/backlog.md, marcando como concluídas as tarefas iniciais já implementadas.
  • Inclusão do arquivo LICENSE com a licença MIT.

Testes

  • Criação do arquivo tests/__init__.py para inicialização da suíte de testes.

Copilot AI review requested due to automatic review settings July 2, 2026 00:28
@DanielDPereira
DanielDPereira merged commit 58fa740 into develop Jul 2, 2026
1 check passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR inicializa a base do BrasilnaCopaAI, estruturando o backend em FastAPI e o frontend em Streamlit, além de adicionar documentação e arquivos essenciais para configuração do ambiente e organização do repositório.

Changes:

  • Criação do backend FastAPI com endpoint /health e configuração inicial de CORS.
  • Criação do frontend Streamlit com dashboard, estilos e checagem de conectividade com o backend.
  • Adição de arquivos-base de projeto: .env.example, .gitignore, requirements.txt, LICENSE e atualizações de documentação.

Reviewed changes

Copilot reviewed 15 out of 17 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
app/main.py Define a aplicação FastAPI, CORS e o endpoint /health.
app/__init__.py Inicializa o pacote do backend.
app/api/__init__.py Inicializa o subpacote de endpoints.
app/ingestion/__init__.py Inicializa o subpacote de ingestão.
app/models/__init__.py Inicializa o subpacote de modelos.
app/rag/__init__.py Inicializa o subpacote de orquestração RAG.
app/services/__init__.py Inicializa o subpacote de integrações/serviços externos.
app/vectorstore/__init__.py Inicializa o subpacote de vectorstore (ChromaDB).
streamlit/app.py Implementa o dashboard Streamlit com UI e checagem de saúde do backend.
streamlit/__init__.py Inicializa o pacote do frontend Streamlit.
requirements.txt Define dependências mínimas para backend, frontend, RAG e testes.
README.md Ajusta instruções (incluindo URL correta de clone) e execução.
docs/backlog.md Atualiza o status das tarefas iniciais (marcando como concluídas).
.env.example Fornece template de variáveis de ambiente (Gemini/Chroma/Backend).
.gitignore Adiciona regras padrão e ignora artefatos locais (incl. ChromaDB local).
LICENSE Adiciona licença MIT ao projeto.
tests/__init__.py Inicializa o pacote de testes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread app/main.py
Comment on lines +45 to +47
if __name__ == "__main__":
import uvicorn
uvicorn.run("main:app", host="127.0.0.1", port=8000, reload=True)
Comment thread app/main.py
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # Em produção, restringir às origens permitidas
allow_credentials=True,
Comment thread app/main.py
Comment on lines +39 to +41
status="healthy",
timestamp=datetime.datetime.utcnow(),
version="0.1.0",
Comment thread streamlit/app.py
Comment on lines +134 to +141
try:
response = requests.get(f"{BACKEND_URL}/health", timeout=3)
if response.status_code == 200:
data = response.json()
return True, data
except Exception:
pass
return False, None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants