https://github.com/bernardopg/cmmg-calendar
Sincronize o calendário acadêmico do CMMG diretamente com sua Google Agenda ou Apple Calendar. Nunca mais perca um evento importante!
https://github.com/bernardopg/cmmg-calendar
automation calendar cmmg doctor education icalendar ics medicine minas-gerais parser python scraper web-scraping
Last synced: 9 months ago
JSON representation
Sincronize o calendário acadêmico do CMMG diretamente com sua Google Agenda ou Apple Calendar. Nunca mais perca um evento importante!
- Host: GitHub
- URL: https://github.com/bernardopg/cmmg-calendar
- Owner: bernardopg
- Created: 2025-08-07T17:37:52.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-09-13T19:42:28.000Z (10 months ago)
- Last Synced: 2025-09-13T21:28:05.925Z (10 months ago)
- Topics: automation, calendar, cmmg, doctor, education, icalendar, ics, medicine, minas-gerais, parser, python, scraper, web-scraping
- Language: Python
- Homepage:
- Size: 50.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📅 CMMG Calendar Analyzer
*Transforme seu horário acadêmico em calendários organizados*
[](#demonstração)
[](#licença)
[](#requisitos)
[](#tecnologias)
[](#status)
---
**Converta arquivos JSON de horário acadêmico para Google Calendar e Thunderbird com análise inteligente**

## ✨ Principais Recursos
🎯 **Conversão Inteligente**
- 📱 **CSV** → Google Calendar (formato otimizado)
- 🗓️ **ICS** → Thunderbird, Outlook, Apple Calendar
- 🔄 **Processamento automático** de datas e horários
📊 **Análise Avançada**
- 📈 **Estatísticas completas** de matérias e horários
- 📍 **Mapeamento de locais** e salas
- 📅 **Distribuição temporal** (semanal/mensal)
- 🎨 **Visualizações interativas**
🚀 **Interface Moderna**
- 💻 **Web App** responsiva com drag & drop
- ⚡ **CLI** para automação
- 🌐 **API REST** para integração
- 📱 **PWA Ready** com ícones personalizados
## 🚀 Início Rápido
### 🌐 Interface Web (Recomendado)
```bash
# Clone o repositório
git clone https://github.com/seu-usuario/cmmg-calendar
cd cmmg-calendar
# Inicie a aplicação completa
./start_app.sh
```
**✅ Pronto!** Acesse: [http://localhost:5173](http://localhost:5173)
### ⚡ Via Linha de Comando
```bash
# Configure o ambiente
python -m venv venv
source venv/bin/activate # Linux/Mac
# ou
venv\Scripts\activate # Windows
# Instale dependências
pip install -r requirements.txt
# Converta seu arquivo
python main.py
```
**📂 Arquivos gerados:**
- `output/GoogleAgenda.csv` → 📱 Google Calendar
- `output/ThunderbirdAgenda.ics` → 🗓️ Thunderbird/Outros
## 📱 Como Usar
🌐 Interface Web
1. **📤 Upload**: Arraste seu `QuadroHorarioAluno.json` ou clique para selecionar
2. **🔍 Análise**: Clique em "Analisar Horário" para ver estatísticas
3. **📊 Resultados**: Visualize distribuição de matérias, horários e locais
4. **💾 Download**: Baixe CSV para Google Calendar ou ICS para outros aplicativos
⚡ Linha de Comando
```bash
# Conversão simples
python main.py
# Análise detalhada
python analyze_schedule.py
# Servidor API
python api_server.py
```
🔗 API REST
```bash
# Health check
curl http://localhost:5000/health
# Análise de arquivo
curl -X POST -F "file=@data/QuadroHorarioAluno.json" \
http://localhost:5000/analyze
# Export CSV
curl -X POST -F "file=@data/QuadroHorarioAluno.json" \
http://localhost:5000/export/csv -o agenda.csv
```
## 🏗️ Tecnologias
### Backend
- 🐍 **Python 3.6+** com Flask
- 🔒 **Validação** com Pydantic
- ⚡ **Rate Limiting** e CORS
- 📝 **Logging** estruturado
### Frontend
- ⚛️ **React 19** + **TypeScript**
- ⚡ **Vite** para desenvolvimento rápido
- 🎨 **Tailwind CSS** para estilização
- 📱 **Responsive Design**
- 🔄 **Custom Hooks** para gerenciamento de estado
### Recursos Avançados
- 🛡️ **Validação robusta** de dados
- 📊 **Análise estatística** automática
- 🌐 **PWA** com manifest e ícones
- 🔄 **Drag & Drop** de arquivos
- ⚡ **Loading states** e feedback visual
## 📋 Requisitos
- 🐍 Python 3.6+
- 📦 Node.js 16+ (para interface web)
- 💾 ~50MB espaço em disco
## 📖 Documentação Completa
📚 **[DOCUMENTACAO.md](DOCUMENTACAO.md)** - Guia completo com:
- 🎯 Importação detalhada para cada calendário
- 🛠️ Solução de problemas comuns
- 🎨 Personalização e dicas avançadas
- 📱 Configuração de PWA
## 🤝 Contribuição
Contribuições são bem-vindas! Por favor:
1. 🍴 Fork o projeto
2. 🌿 Crie uma branch: `git checkout -b feature/nova-funcionalidade`
3. 💾 Commit suas mudanças: `git commit -m 'Add: nova funcionalidade'`
4. 📤 Push para a branch: `git push origin feature/nova-funcionalidade`
5. 🔄 Abra um Pull Request
## 📄 Licença
Distribuído sob a licença MIT. Veja `LICENSE` para mais informações.
---
**🎓 Desenvolvido para facilitar a vida acadêmica**
⭐ Não esqueça de dar uma estrela se este projeto te ajudou!