Módulo 2 — Projeto de análise de dados¶
Um projeto completo, do dado à tela, com a mesma arquitetura dos projetos reais do laboratório.
- Prazo: 1 mês, contado a partir da aprovação no módulo 1
- Base de dados: escolha livre, mas dê preferência a dados do Maranhão
Arquitetura obrigatória¶
flowchart LR
A[(Base de dados<br/>CSV, API pública...)] --> B[Backend<br/>FastAPI]
B -- JSON --> C[Frontend<br/>Next.js]
| Camada | Tecnologia | Responsabilidade |
|---|---|---|
| Backend | FastAPI | Processar os dados e fornecê-los por meio de uma API |
| Frontend | Next.js | Interface visual que consome o backend e exibe os dados |
Onde encontrar dados do Maranhão¶
São as mesmas fontes que o laboratório usa no Mapa Social:
| Fonte | O que tem |
|---|---|
| IMESC | Indicadores socioeconômicos do Maranhão |
| IBGE — SIDRA | Censo, população, PIB municipal e muito mais |
| IPEADATA | Séries históricas sociais e econômicas por município |
| DataSUS | Saúde: estabelecimentos, nascimentos, mortalidade |
Critério de aprovação¶
- Código completo no GitHub, em repositório público
- Documentação clara no README, explicando o projeto e como rodar a aplicação
- Apresentação do projeto para o laboratório
O que o README precisa ter¶
Use esta estrutura como ponto de partida:
# Nome do projeto
Uma ou duas frases sobre o que o projeto mostra.
## Dados
- Fonte: nome e link
- Período e recorte (ex.: municípios do MA, 2010–2022)
## Arquitetura
- Backend: FastAPI — o que ele processa e quais endpoints expõe
- Frontend: Next.js — quais telas e gráficos existem
## Como rodar
### Backend
```bash
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload
```
### Frontend
```bash
cd frontend
npm install
npm run dev
```
## Endpoints
| Método | Rota | Descrição |
|---|---|---|
| GET | /indicadores | ... |
## Autor
Seu nome — GitHub
Uma estrutura de pastas que funciona bem:
meu-projeto/
├── backend/
│ ├── main.py
│ ├── requirements.txt
│ └── dados/
├── frontend/
│ ├── package.json
│ └── app/
└── README.md
Dicas¶
- Comece pelo dado. Explore a base num notebook antes de escrever a API.
- Faça o backend funcionar sozinho antes do frontend. O FastAPI gera documentação automática em
/docs, ótima para testar. - Commits pequenos e frequentes, seguindo Conventional Commits.
- Travou? Vá ao laboratório ou comente na sua issue de nivelamento. Pedir ajuda cedo economiza dias.