Interface web moderna para o curso de Git, construída como uma mini‑SPA de alta performance, com foco em experiência do usuário e integração inteligente com o backend.
O projeto utiliza uma arquitetura descentralizada, garantindo custo zero no frontend e alta confiabilidade no backend:
-
Frontend: Hospedado no GitHub Pages (CI/CD via GitHub Actions).
-
Backend: API FastAPI rodando em VPS dedicada (
https://charles-gitcourse.duckdns.org). -
Arquitetura: SPA leve, sem frameworks, com navegação dinâmica via JavaScript.
A página nunca recarrega — todo o conteúdo é trocado de forma assíncrona.
-
HTML5 / CSS3 / JavaScript (ES6+)
-
SPA Engine customizado
-
Fetch API para comunicação com o backend
-
Persistência segura de JWT via
localStorage -
Design responsivo e tema dark
A dashboard é o centro de controle do aluno:
-
Cálculo de progresso dinâmico Atualização instantânea conforme o aluno conclui aulas.
-
Sincronização assíncrona com o backend Comunicação direta com a API para registrar progresso real.
-
Feedback visual inteligente
-
Barra de progresso animada
-
Mensagens motivacionais
-
Detecção de lacunas
-
Próxima aula recomendada
-
-
Integração com notificações Backend pode enviar alertas via Telegram.
O GitCourse não apenas apresenta conteúdo — ele orienta o aluno.
1a-prefacio — Onboarding (não conta progresso)
↓
2-terminal-customization — Aula obrigatória inicial
↓
2a-introduction — Introdução ao Git
↓
3 → 16 — Aulas principais do curso
↓
Conclusão-
1a-prefacio → não conta progresso
-
2-terminal-customization → aula oficial
-
2a-introduction → aula oficial
-
Aulas válidas para progresso: 2-terminal-customization, 2a-introduction e 3 → 16
-
Total de aulas consideradas no progresso: 16
O backend calcula automaticamente:
{
"total": 16,
"actual_count": 10,
"pending_topics": [3, 5, 7],
"percentage": 62.5
}-
Detecta aulas puladas
-
Nunca retorna progresso falso
-
Funciona mesmo fora de ordem
-
Corrige inconsistências de navegação
-
Saudação personalizada
-
Barra de progresso animada
-
Mensagens motivacionais
-
Próxima aula recomendada
Exemplos de feedback:
-
🏆 Parabéns! Você concluiu o curso!
-
🔥 Você está muito perto de concluir!
-
🚀 Excelente progresso, continue assim!
-
Tema dark moderno
-
Botões com animação
-
Gradiente animado na barra de progresso
-
Layout responsivo
-
Componentes reutilizáveis
🧱 Arquitetura do Frontend
docs/
├── assets/
│ ├── css/
│ ├── js/
│ │ ├── views/
│ │ │ └── home-view.js
│ │ ├── dashboard-router.js
│ │ └── git-course-functions.js-
Mini‑SPA sem frameworks
-
Renderização dinâmica via JS
-
Estado controlado via
localStorage -
Comunicação direta com o backend
Endpoints utilizados:
-
POST /auth/login -
GET /progress/summary -
POST /progress/complete -
GET /topics/{slug}
Backend implementado em FastAPI com:
-
JWT Authentication
-
Constraint única
(user_id, topic_id) -
Cálculo inteligente de progresso
✔ Conclusão linear ✔ 100% correto
✔ Pula aulas ✔ Sistema detecta lacunas ✔ Navegação corrigida automaticamente
✔ Entrada segura ✔ Sem quebra de fluxo
✔ Backend consistente ✔ Frontend funcional ✔ UX moderna ✔ Fluxo pedagógico validado ✔ Sistema resiliente ✔ Pronto para uso real com alunos
-
🏆 Tela de conclusão avançada
-
📜 Certificado em PDF
-
📊 Histórico de progresso
-
🎯 Recomendações inteligentes
-
📈 Métricas de uso
“O sistema não apenas mostra conteúdo — ele orienta o aluno.”
Projeto desenvolvido como evolução prática em:
-
Python / FastAPI
-
JavaScript (SPA leve)
-
UX aplicada à educação
Frontend em produção: 👉 Curso Git - Aprenda de forma prática e eficiente
Link curto (Bit.ly): 👉 Curso Git - Aprenda de forma prática e eficiente