Sistema web completo para gerenciamento de histórico acadêmico universitário com autenticação Firebase, sincronização em tempo real e armazenamento em nuvem.
- Login múltiplo: Email/senha e Google OAuth
- Sincronização automática: Dados sincronizados entre dispositivos em tempo real
- Perfil personalizado: Informações acadêmicas e configurações
- Segurança: Proteção CSRF e validação de tokens
- Disciplinas dinâmicas: Adicionar, editar e remover disciplinas
- Cálculo automático: CR (Coeficiente de Rendimento) em tempo real
- Requisitos de formatura: Acompanhamento visual de progresso
- Estatísticas detalhadas: Total de disciplinas, horas, créditos
- Filtros avançados: Por período, natureza, status
- Tema responsivo: Claro, escuro e automático
- Design adaptativo: Funciona em desktop, tablet e mobile
- Animações suaves: Transições e feedback visual
- Acessibilidade: Suporte completo a leitores de tela
- Simulação acadêmica: Planeje sua trajetória acadêmica
- Exportação de dados: PDF, Excel e CSV
- Backup automático: Dados salvos na nuvem
- URLs amigáveis: Navegação limpa sem extensões .html
- BICTI - Bacharelado Interdisciplinar em Ciência, Tecnologia e Inovação
- ENG PROD - Engenharia de Produção
- ENG ELE - Engenharia Elétrica
- HTML5 - Estrutura semântica
- CSS3 - Estilos modernos com Grid/Flexbox
- JavaScript ES6+ - Lógica dinâmica e modular
- Font Awesome - Ícones profissionais
- Firebase Authentication - Autenticação segura
- Firestore Database - Banco de dados NoSQL
- Firebase Security Rules - Regras de segurança
- Vercel - Deploy e CDN global
- Service Worker - Cache offline
- PWA - Instalação como app
- Sincronização em tempo real - Dados sempre atualizados
- Proteção CSRF - Segurança contra ataques
Historico-Universitario/
├── 📁 assets/
│ ├── 📁 css/
│ │ ├── main.css
│ │ ├── profile.css
│ │ └── 📁 modules/
│ │ ├── 📁 auth/
│ │ ├── 📁 components/
│ │ ├── 📁 features/
│ │ ├── 📁 layout/
│ │ └── 📁 utils/
│ └── 📁 img/
├── 📁 js/
│ ├── app.js
│ └── 📁 modules/
│ ├── 📁 firebase/
│ │ ├── auth.js
│ │ ├── data.js
│ │ └── sync-manager.js
│ ├── 📁 ui/
│ ├── 📁 security/
│ └── utils.js
├── 📁 docs/
├── 📁 legal/
├── index.html
├── login.html
├── profile.html
├── vercel.json
└── firestore.rules
git clone https://github.com/LuisT-ls/Historico-Universitario.git
cd Historico-Universitario
- Crie um projeto no Firebase Console
- Ative Authentication:
- Email/Password
- Google Sign-in
- Crie um banco Firestore
- Configure as regras de segurança (use o arquivo
firestore.rules
)
Edite js/modules/firebase/config.js
:
const firebaseConfig = {
apiKey: 'sua-api-key',
authDomain: 'seu-projeto.firebaseapp.com',
projectId: 'seu-projeto-id',
storageBucket: 'seu-projeto.appspot.com',
messagingSenderId: '123456789',
appId: 'seu-app-id'
}
npm install -g vercel
vercel
- Push para o repositório
- Ative GitHub Pages nas configurações
- Configure domínio customizado (opcional)
- Dados sempre atualizados entre dispositivos
- Sincronização automática a cada 30 segundos
- Detecção de mudanças inteligente
- Backup automático na nuvem
- Proteção CSRF em todas as operações
- Validação de tokens em tempo real
- Regras Firestore restritivas
- Sanitização de dados completa
- Lazy loading de componentes
- Cache inteligente de dados
- Compressão de assets
- CDN global via Vercel
- Configuração Firebase:
docs/documentation/
- Regras de Segurança:
firestore.rules
- Testes:
docs/test-pages/
docs/test-pages/test-profile.html
- Teste do perfildocs/test-pages/test-firestore.html
- Teste das regrasdocs/test-pages/test-login.html
- Teste de autenticação
FirebaseError: Missing or insufficient permissions.
Solução: Configure as regras conforme firestore.rules
Verifique:
- Conexão com internet
- Configuração do Firebase
- Console do navegador para erros
Solução: Verifique localStorage e cookies do navegador
- Fork o projeto
- Crie uma branch para sua feature:
git checkout -b feature/NovaFuncionalidade
- Commit suas mudanças:
git commit -m 'Adiciona nova funcionalidade'
- Push para a branch:
git push origin feature/NovaFuncionalidade
- Abra um Pull Request
- Use ES6+ para JavaScript
- Siga BEM para CSS
- Mantenha semântica HTML
- Documente funções complexas
Este projeto está sob a licença MIT. Veja o arquivo LICENSE
para detalhes.
Luís Antonio Souza Teixeira
- Firebase pela infraestrutura robusta
- Font Awesome pelos ícones profissionais
- Vercel pela plataforma de deploy
- Comunidade open source pelo suporte
- ✅ 100% Funcional - Todas as features implementadas
- 🔒 Seguro - Proteção CSRF e validação completa
- 📱 Responsivo - Funciona em todos os dispositivos
- ⚡ Rápido - Otimizado para performance
- 🌐 Acessível - Suporte completo a acessibilidade
⭐ Se este projeto te ajudou, considere dar uma estrela no GitHub!