A Plataforma Integrada do Clima (PIC) é uma solução digital desenvolvida para facilitar a participação cidadã no Fundo Municipal de Adaptação e Resiliência Climática de Santos.
Através de formulários dinâmicos e interface moderna, a plataforma permite que os cidadãos:
- 🗳️ Participem de pesquisas sobre impactos climáticos locais
- 💡 Proponham soluções e projetos para o fundo climático
- 📊 Acompanhem os resultados e estatísticas das participações
- 🤝 Contribuam para decisões sobre recursos públicos destinados ao clima
Integrada ao Plano de Ação Climática de Santos (PACS), a plataforma contribui diretamente para a meta de zerar emissões líquidas de carbono até 2050.
- Login seguro com telefone + data de nascimento
- Cadastro completo de usuários
- Gerenciamento de sessão com JWT
- Persistência local dos dados
- Múltiplos tipos de pergunta (texto, número, escolha única/múltipla)
- Validação inteligente de campos obrigatórios
- Interface moderna com animações
- Prevenção de respostas duplicadas
- Visualização de respostas em tempo real
- Gráficos interativos para análise
- Estatísticas de participação
- Agrupamento por pergunta e tipo
- Cores oficiais do governo brasileiro
- Animações fluidas e microinterações
- Responsivo (web e mobile)
- Acessibilidade integrada
| Categoria | Tecnologia | Versão | Descrição |
|---|---|---|---|
| Framework | Flutter | 3.9.2+ | Framework multiplataforma |
| Linguagem | Dart | 3.9.2+ | Linguagem de programação |
| Estado | Provider | 6.1.5+ | Gerenciamento de estado |
| Persistência | Hive | 1.1.0+ | Banco local NoSQL |
| HTTP | http | 1.5.0+ | Requisições para API |
| Gráficos | fl_chart | 1.1.1+ | Visualização de dados |
| Animações | Wave | 0.2.2+ | Efeitos visuais |
| Logs | Logger | 2.6.2+ | Sistema de logging |
Antes de começar, certifique-se de ter instalado:
- Flutter SDK (versão 3.9.2 ou superior)
- Dart SDK (incluído com Flutter)
- Git para controle de versão
- Editor (VS Code recomendado)
- Chrome (para desenvolvimento web)
flutter doctor# Clone o repositório
git clone https://github.com/ZaniniDev/PIC.git
# Navegue até o diretório do projeto
cd PIC
# Acesse a pasta do Flutter
cd flutter/pic_plataforma_clima# Instalar dependências do Flutter
flutter pub get
# Verificar se tudo está ok
flutter doctor# Rodar com web server (resolve problemas de CORS)
flutter run -d web-server --web-port 8080 --web-hostname localhost# Conecte um dispositivo Android ou inicie um emulador
flutter devices
# Execute no dispositivo
flutter run# Windows
flutter run -d windows
# Linux
flutter run -d linux
# macOS
flutter run -d macosPara facilitar o desenvolvimento, utilize os scripts criados:
# Execute o script de desenvolvimento
.\run_web_dev.ps1# Execute o arquivo batch
.\run_web_dev.batCrie um arquivo .env na raiz do projeto (opcional):
API_BASE_URL=http://192.168.15.3:5000
TELEFONE_WHATSAPP=13991625008Se encontrar problemas de CORS no desenvolvimento web:
-
Use o web-server (recomendado):
flutter run -d web-server --web-port 8080
-
Configure CORS no backend (solução definitiva)
-
Use Chrome com flags desabilitadas (apenas desenvolvimento):
flutter run -d chrome --web-browser-flag="--disable-web-security"
Consulte o arquivo CORS_HELP.md para mais detalhes.
- Acesse a plataforma via web:
http://localhost:8080 - Vá para "Login" no menu lateral
- Se não tem conta, clique em "Cadastrar"
- Preencha: Nome, Celular, Data de Nascimento, Bairro, Cidade
- Aceite os termos
- Clique em "Cadastrar"
- Digite seu celular (formato: (13)99999-9999)
- Digite sua data de nascimento
- Clique em "Entrar"
- Acesse "Participe e Ganhe"
- Clique em "Responder Formulário"
- Responda todas as perguntas obrigatórias
- Envie suas respostas
- Acesse "Relatórios" (requer login)
- Veja estatísticas e gráficos das participações
lib/
├── core/ # Configurações centrais
│ ├── api_service.dart # Serviços de API
│ ├── auth.dart # Gerenciamento de autenticação
│ ├── config_settings.dart # Configurações do app
│ └── app_logger.dart # Sistema de logs
├── models/ # Modelos de dados
│ ├── data/ # Modelos para API
│ ├── domain/ # Modelos de negócio
│ └── transformation/ # Conversores entre modelos
├── repository/ # Camada de dados
├── viewmodel/ # Gerenciamento de estado
├── view/ # Interface do usuário
├── routes.dart # Configuração de rotas
└── main.dart # Ponto de entrada da aplicação
O formulário principal coleta informações sobre:
- Conhecimento climático: Consciência sobre mudanças climáticas
- Localização: Cidade, bairro, rua/comunidade
- Demografia: Número de pessoas na residência
- Habitação: Tipo de construção, danos por eventos climáticos
- Impactos: Perdas materiais, efeitos na saúde mental
- Avaliação: Gestão climática municipal, pontos críticos
- Fundo Climático: Opinião sobre criação e gestão participativa
- Propostas: Sugestões e necessidades para o fundo
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
- Siga as convenções do Dart/Flutter
- Use nomes descritivos para variáveis e funções
- Documente funções públicas
- Mantenha arquivos organizados por funcionalidade
Use as Issues do GitHub para reportar bugs:
- Descreva o comportamento esperado vs atual
- Inclua passos para reproduzir
- Adicione screenshots se possível
- Especifique versão do Flutter e sistema operacional
Desenvolvimento:
- ZaniniDev - Desenvolvedor Principal
- 💬 WhatsApp: +55 13 99155-0539
Apoio Institucional:
- Prefeitura Municipal de Santos
- Secretaria de Meio Ambiente
- 📧 Email: contato@pic-santos.gov.br
- 💬 WhatsApp: +55 13 99155-0539
- 🐛 Issues: GitHub Issues
