SafeStreets — Monitor de Segurança Urbana
SafeStreets é uma aplicação voltada ao monitoramento inteligente de riscos urbanos a partir da análise de notícias e dados públicos de segurança pública do Distrito Federal.
O sistema combina coleta de dados em tempo real, inteligência artificial e visualização geoespacial para oferecer ao cidadão uma visão clara e atualizada sobre a segurança de cada região administrativa.
🎯 Objetivo
Transformar dados brutos de segurança pública em informação útil e acessível, auxiliando cidadãos, gestores e pesquisadores na compreensão do cenário urbano — e apoiando decisões mais conscientes no dia a dia.
🔍 Principais Funcionalidades
| Funcionalidade | Descrição |
|---|---|
| 🗺️ Mapa Interativo | Exibe ocorrências criminais em tempo real georreferenciadas no DF |
| 📰 Feed de Notícias | Coleta e apresenta notícias sobre segurança pública de fontes externas |
| 🤖 Resumo por IA | Gera, automaticamente, um resumo da situação de segurança de uma região ao selecioná-la |
| 📊 Dashboard Analítico | Painel com gráficos e indicadores estatísticos por região e período |
| 🔎 Filtros Avançados | Busca por Região Administrativa (RA) e intervalo de datas |
🏗️ Visão Geral da Arquitetura
O SafeStreets adota uma Arquitetura em Camadas (Layered Architecture), garantindo clareza na separação de responsabilidades e facilitando a manutenção e escalabilidade do sistema.
Frontend (Next.js)
│ REST API (HTTPS)
▼
Backend (FastAPI · Python)
├── routers/ → Endpoints da API
├── services/ → Regras de negócio e IA
└── repositories/→ Acesso ao banco de dados
│
▼
PostgreSQL (Docker)
A comunicação entre camadas segue o padrão Jamstack: o frontend consome dados exclusivamente via API RESTful, sem acoplamento direto ao banco de dados.
📄 Veja mais detalhes em Arquitetura · Stack Back-end · Stack Front-end
💻 Frontend
| Tecnologia | Função |
|---|---|
| Next.js | Framework React com SSR/SSG |
| TypeScript + JSX | Linguagem tipada para interfaces |
| CSS Modules | Estilização com escopo local |
💾 Backend
| Tecnologia | Função |
|---|---|
| Python + FastAPI | Framework principal da API REST |
| PostgreSQL | Banco de dados relacional |
| SQLAlchemy | ORM para acesso ao banco |
| Docker | Containerização do ambiente |
| Swagger / OpenAPI | Documentação automática da API |
📋 Requisitos do Sistema
O projeto está organizado em 4 Épicos principais:
- Épico 1 — Visualização de Notícias: Feed de segurança pública com detalhamento de ocorrências.
- Épico 2 — Mapeamento e Alertas: Mapa interativo com marcadores e cards de risco.
- Épico 3 — Dashboard / Filtros: Painel estatístico com busca por RA e período.
- Épico 4 — Backend / API: Endpoints REST, scraping automático e integração com IA.
Requisitos Não Funcionais de destaque:
- ⚡ Carregamento assíncrono do feed de notícias
- 🔒 Tráfego exclusivamente via HTTPS
- 🖥️ Interface otimizada para Desktop/Web
- 🏗️ Separação estrita entre Frontend e Backend (Jamstack)
📄 Veja a lista completa em Requisitos Funcionais e Não Funcionais
🎨 Design e Prototipação
O design do SafeStreets foi planejado para oferecer uma experiência moderna, intuitiva e acessível. O protótipo de alta fidelidade, desenvolvido no Figma, representa fielmente as telas, componentes, tipografia e fluxo de navegação do sistema antes do desenvolvimento definitivo.
Telas mapeadas no protótipo:
- Tela inicial com feed de notícias
- Mapa interativo com marcadores de risco
- Painel de informações e alertas urbanos
- Dashboard estatístico com filtros
🎨 Veja o Protótipo de Alta Fidelidade · Acesse no Figma
🗂️ Planejamento e Métodos Ágeis
O time adota Scrum com entregas semanais, quadro Kanban para gestão de tarefas e Story Map para alinhamento de escopo. Toda a rastreabilidade é mantida via GitHub Issues e Pull Requests.
📄 Veja mais em Métodos Ágeis
🚀 Histórico de Releases
| Versão | Destaques |
|---|---|
| v0.1.0 | Protótipo de alta fidelidade · Implementação da API · Banco de dados com PostgreSQL + Docker · Documentação MkDocs · Modularização de rotas |
📄 Veja as notas completas em Release v0.1.0
👥 Equipe — Squad 01 · MDS-01/2026
Arthur Feitosa
@ArthurFeitosa05
Edson Gabriel
@EdsonToppzera
Israel Soares
@IsraelSoares-25
Matheus Queiroz
@matheusqsa
Jorge Vasquez
@jorgevasquez25
Nicolas Lopes
@Nic0laslc
🔗 Links Úteis
| Recurso | Link |
|---|---|
| 📂 Repositório GitHub | unb-mds/2026-1-SafeStreets |
| 🎨 Protótipo Figma | Alta Fidelidade |
| 🗺️ Story Map | Figma — Squad 1 |
| 📋 Backlog / Issues | GitHub Issues |
| 📈 Dashboard de Produtividade | Dashboard |