Calcule estimativas de emissões de CO2 para viagens entre cidades brasileiras. Aplicação front-end moderna, acessível e totalmente responsiva.
Calculadora de Emissão de CO2 é uma aplicação educacional que permite usuários estimarem o impacto ambiental de suas viagens entre cidades brasileiras.
A ferramenta oferece:
- ✅ Cálculo de emissões por modo de transporte
- ✅ Comparação interativa entre todos os modos
- ✅ Estimativa de créditos de carbono necessários
- ✅ Interface limpa e profissional
- ✅ Totalmente responsiva (mobile-first)
- ✅ Acessível (WCAG 2.1)
Calcula instantaneamente emissões de CO2 baseado em:
- Origem e destino (40+ rotas brasileiras pré-carregadas)
- Modo de transporte: 🚲 Bicicleta | 🚗 Carro | 🚌 Ônibus | 🚚 Caminhão
- Distância (auto-preenchida ou manual)
Ranking interativo mostrando:
- Emissão por modo
- Diferença absoluta em kg CO2
- Diferença percentual vs modo mais poluente
- Identificação visual do baseline
Estimativa de compensação:
- Quantidade de créditos necessária (em tCO2e)
- Faixa de preço: $5 a $25 por tonelada
- Preço mínimo, médio e máximo
Arquitetura limpa e modular, separando responsabilidades:
┌─────────────────────────────────────────┐
│ Camada de Apresentação │
│ HTML5 (estrutura) + CSS3 (estilo) │
└────────────────┬────────────────────────┘
│
┌────────────────▼────────────────────────┐
│ Camada de Interface (UI.js) │
│ Coleta dados | Renderiza resultados │
└────────────────┬────────────────────────┘
│
┌────────────────▼────────────────────────┐
│ Camada de Orquestração (App.js) │
│ Coordena fluxo | Valida dados │
└────────────────┬────────────────────────┘
│
┌────────────┼────────────┐
│ │ │
┌───▼──┐ ┌─────▼────┐ ┌───▼────┐
│ Calc │ │ RoutesDB │ │ Config │
│ ulat │ │ (dados) │ │(const) │
│ or │ │ │ │ │
└──────┘ └──────────┘ └────────┘
| Arquivo | Responsabilidade |
|---|---|
index.html |
Estrutura semântica (formulário, seções) |
css/style.css |
Estilos, layout responsivo, animações |
js/routes-data.js |
Base de dados de rotas brasileiras |
js/config.js |
Constantes (fatores de emissão) |
js/calculator.js |
Funções puras (cálculos matemáticos) |
js/ui.js |
Interação com DOM (renderização) |
js/app.js |
Orquestração da aplicação |
- Navegador moderno (Chrome, Firefox, Safari, Edge)
- Sem dependências externas
- Clone o repositório
git clone https://github.com/seu-usuario/carbon-calculator.git
cd carbon-calculator- Abra no navegador
# Opção 1: Abrir arquivo local
open index.html
# Opção 2: Usar servidor local (Python 3)
python -m http.server 8000
# Acesse: http://localhost:8000
# Opção 3: Usar servidor local (Node.js)
npx http-server- Use a calculadora
- Selecione origem e destino (ou insira distância manualmente)
- Escolha um modo de transporte
- Clique em "Calcular Emissão"
- Visualize resultados, comparação e créditos de carbono
carbon-calculator/
├── index.html # Página principal (HTML semântico)
├── css/
│ └── style.css # Estilos (BEM, responsivo, dark mode)
├── js/
│ ├── routes-data.js # Base de dados de rotas (40+ rotas)
│ ├── config.js # Constantes (fatores de emissão)
│ ├── calculator.js # Funções puras de cálculo
│ ├── ui.js # Funções de DOM e renderização
│ └── app.js # Orquestração e event listeners
├── README.md # Este arquivo
└── LICENSE # MIT License
RoutesDB.getAllCities() // Lista cidades únicas
RoutesDB.findDistance(origin, dest) // Busca distância (bidirecional)Calculator.calculateEmission(distance, factor) // Emissão total
Calculator.validateDistance(distance) // Valida distância
Calculator.compareTransportModes(distance) // Ranking de modosshowResult(data) // Exibe resultado principal
showComparison(data) // Exibe tabela de comparação
showCarbonCredits(data) // Exibe créditos de carbono
showError(message) // Exibe mensagem de erro| Modo | Fator | Observação |
|---|---|---|
| 🚲 Bicicleta | 0 | Zero emissão |
| 🚌 Ônibus | 0.10 | Baixa emissão (compartilhado) |
| 🚗 Carro | 0.21 | Emissão moderada |
| 🚚 Caminhão | 0.40 | Maior emissão |
- ✅ 10+ conexões capital-capital (São Paulo, Rio, Brasília, etc)
- ✅ 20+ rotas regionais por região (Sudeste, Nordeste, Sul, etc)
- ✅ Cobertura nacional (Norte, Centro-Oeste)
- Fundo:
#F9FAFB(cinza claro) - Texto:
#1F2933(cinza escuro) - Primária:
#2563EB(azul) - Sucesso:
#16A34A(verde) - Erro:
#DC2626(vermelho)
- ✅ Contraste adequado (WCAG AA)
- ✅ Focus visível em todos os elementos interativos
- ✅ Suporte a
aria-hiddenpara seções ocultas - ✅ Labels associados a inputs
- ✅ Semântica HTML5 (header, main, section, footer)
- ✅ Suporte a dark mode (prefers-color-scheme)
- ✅ Respeita prefers-reduced-motion
- 📱 Mobile-first design
- 📱 Breakpoints: 480px, 768px
- 📱 Grid de transporte adaptável
- 📱 Tabelas com scroll horizontal em mobile
Origem: São Paulo, SP
Destino: Rio de Janeiro, RJ
Modo: Carro
Distância: 430 km (auto-preenchida)
Resultado:
✓ Emissão: 90.30 kg CO2
✓ Economia vs caminhão: 79.70 kg (79.5%)
Para a mesma rota (430 km):
1. 🚲 Bicicleta: 0 kg CO2
2. 🚌 Ônibus: 43 kg CO2 (52% menos)
3. 🚗 Carro: 90.30 kg CO2 (55% menos)
4. 🚚 Caminhão: 172 kg CO2 (baseline)
Emissão: 90.30 kg CO2
Créditos necessários: 0.0903 tCO2e
Preço estimado:
- Mínimo: $0.45
- Médio: $1.35
- Máximo: $2.26
- Interface HTML semântica
- Cálculo de emissões
- Comparação de modos
- Créditos de carbono
- Base de dados local
- Integração com API Google Maps (geocoding + distância)
- Mais rotas (Brasil inteiro)
- Gráficos (Chart.js)
- Histórico de cálculos (localStorage)
- Backend Node.js/Express
- Banco de dados (PostgreSQL)
- Autenticação de usuários
- API pública
- Mobile app (React Native)
Contribuições são bem-vindas!
- Fork o repositório
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
- ✅ JavaScript ES6+
- ✅ Sem frameworks (vanilla JS)
- ✅ Funções puras (sem efeitos colaterais)
- ✅ Separação de responsabilidades
- ✅ HTML semântico (BEM para CSS)
- ✅ Comentários explicativos
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.
Desenvolvido com ❤️ para DIO - Projeto GitHub Copilot
- GitHub: @seu-usuario
- LinkedIn: seu-perfil
- DIO - Digital Innovation One pela oportunidade
- GitHub Copilot pela assistência
- Comunidade open-source por inspiração e ferramentas
As emissões calculadas são estimativas baseadas em fatores médios. Para análises precisas e offsetting real de carbono, consulte plataformas certificadas como:
Última atualização: Janeiro 2026 | Versão: 1.0.0