Pular para conteúdo

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:

  1. Épico 1 — Visualização de Notícias: Feed de segurança pública com detalhamento de ocorrências.
  2. Épico 2 — Mapeamento e Alertas: Mapa interativo com marcadores e cards de risco.
  3. Épico 3 — Dashboard / Filtros: Painel estatístico com busca por RA e período.
  4. É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 Arthur Feitosa @ArthurFeitosa05
Edson Gabriel Edson Gabriel @EdsonToppzera
Israel Soares Israel Soares @IsraelSoares-25
Matheus Queiroz Matheus Queiroz @matheusqsa
Jorge Vasquez Jorge Vasquez @jorgevasquez25
Nicolas Lopes Nicolas Lopes @Nic0laslc

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