Kombinu é uma plataforma que visa refolucionar o sistema educacional em Angola.
# Kombinu Frontend
**Plataforma educacional gamificada para conectar Criadores e Aprendizes**
---
## ✨ Features
- 🔐 **Autenticação Completa** - Login/Register com JWT
- 🎨 **Dark Mode** - Tema claro/escuro persistente
- 📊 **Dashboards Personalizados** - Estatísticas para Aprendizes e Criadores
- 🏆 **Sistema de Ranking** - Leaderboard global em tempo real
- 📚 **Marketplace de Cursos** - Listagem com filtros e busca
- 🧠 **Quizzes Interativos** - Geração dinâmica com pontuação
---
## 🚀 Quick Start
### Pré-requisitos
- Node.js 18+
- npm (gestor de pacotes oficial do projecto)
- Backend Django a correr (ver repositório `kombinu-backend`)
### Instalação
```bash
# Instale as dependências
npm install
# Copie o ficheiro de variáveis de ambiente
cp .env.example .env.local
# Edite .env.local com o URL do backend
# Inicie o servidor de desenvolvimento
npm run dev
```
A aplicação estará disponível em `
localhost`.
---
## ⚙️ Variáveis de Ambiente
Copie `.env.example` para `.env.local` e preencha os valores:
| Variável | Descrição | Exemplo |
| :------------- | :-------------------------------- | :--------------------------- |
| `VITE_API_URL` | URL base da API do backend Django | `
localhost` |
| `VITE_ENV` | Ambiente da aplicação | `development` / `production` |
> **Nota:** `.env.local` nunca deve ser commitado. Está listado no `.gitignore`.
---
## 📁 Estrutura do Projeto
```
src/
├── components/ # Componentes reutilizáveis
│ ├── layout/ # Header, BaseLayout
│ └── ui/ # Card, Button
├── contexts/ # React Context (Auth, Theme)
├── hooks/ # Custom Hooks (useRanking, etc.)
├── pages/ # Páginas da aplicação
│ ├── LandingPage.tsx
│ ├── Login.tsx / Register.tsx
│ ├── DashboardAprendiz.tsx / DashboardCriador.tsx
│ ├── Marketplace.tsx
│ ├── Quiz.tsx
│ └── Ranking.tsx
├── routes/ …