O Quizza é uma plataforma interativa para geração e resolução de simulados com suporte à Inteligência Artificial. O sistema permite a criação de simulados personalizados, geração automática de questões a partir de arquivos PDF ou Word, visualização de estatísticas de desempenho e muito mais.
O projeto é dividido em três partes:
| Módulo | Tecnologias |
|---|---|
| Frontend | React, TailwindCSS, Axios, React Router DOM, Chart.js |
| Backend (API REST) | Node.js, Express, MongoDB, Mongoose, JWT |
| Gerador de Questões | Python, Flask, spaCy, PyMuPDF, OpenRouter (DeepSeek R1) |
Quizza/
├── quizza-backend/ # Node.js API (Simulados, Usuários, Autenticação)
│ ├── backend-node/
│ ├── Quiz-Generator/
├── frontend/ # Interface do Usuário (React)
git clone https://github.com/Yyfii/Quizza.git
cd Quizza- Configure o backend-node/.env
MONGODB_URL=mongodb+srv://<user>:<cluster>.mongodb.net
JWT_SECRET=secret#text
NODE_ENV=development
# BREVO ENVS - você tem que criar uma conta no brevo
SMTP_USER=user@smtp-brevo.com
SMTP_PASS=pass
SENDER_EMAIL=email
SMTP_HOST=smtp-relay-offshore-southamerica-east-v2.sendinblue.com
#FRONTEND_URL
FRONTEND_URL=http://localhost:5173
PORT=4000
cd backend/backend-node
npm install
# Para ativar o ambiente virtual do Node no Windows
venv\Scripts\activate
node --watch server.js
- Configure o Quiz-Generator/.env
# gpt-3.5-turbo
OPEN_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
cd ..
cd Quiz-Generator
python -m venv venv
# Ativar ambiente virtual:
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
# Instalar dependências:
pip install flask flask-cors pydantic python-dotenv openai spacy pymupdf pillow
python -m spacy download pt_core_news_sm
# Criar o arquivo .env com sua chave da OpenRouter:
echo OPEN_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxx > .env
# Rodar servidor Flask:
python app.py- index.html
- vite.config.js
- README.md
- .env # crie aqui
VITE_BACKEND_URL=http://localhost:4000
VITE_API=http://localhost:4000/api
VITE_API_QG=http://localhost:5000
cd ../frontend/quizza-project
npm install
npm run dev
-
Autenticação de usuários com JWT
-
Criação e visualização de simulados
-
Geração de questões por IA (DeepSeek/OpenRouter)
-
Upload de arquivos (PDF) para gerar questões
-
Gráficos com desempenho do usuário
-
Histórico de respostas
O projeto requer uma chave de API da OpenRouter para funcionar corretamente o gerador de questões.
O backend Node se conecta a um banco MongoDB – configure a string de conexão no seu .env (não incluído por segurança).