CampuScore es un proyecto escolar en desarrollo que explora la gestión de estudiantes, materias y calificaciones en un entorno universitario.
- Dashboard completo con estadísticas y métricas
- Sistema de ranking de alumnos con filtros avanzados
- Gestor de notas para exámenes y materias
- CRUD de profesores integrado
- Gestión de alumnos con formularios validados
- Alertas automáticas para alumnos en riesgo
- Sistema de badges/logros para motivación
- Gamificación con conejos virtuales según desempeño
Cada calificación otorga un "conejo virtual" con características dinámicas:
- Mejores notas → conejos más jóvenes
- Peores notas → conejos más viejos
- Badges especiales → Motivación y reconocimiento
- React 19 - Interfaz de usuario interactiva
- Vite 7 - Build tool y dev server
- Axios 1.13 - Cliente HTTP
- React Router 7 - Enrutamiento
- Lucide React - Iconos vectoriales
- CSS3 - Estilos con gradientes y animaciones
- Node.js 14+ - Runtime de JavaScript
- Express 5 - Framework web
- Sequelize 6 - ORM para base de datos
- MySQL 3 - Base de datos relacional
- JWT & Bcrypt - Seguridad (dependencias incluidas)
- Node.js (v14 o superior)
- npm o yarn
- MySQL Server
- Git
- Clonar el repositorio
git clone https://github.com/AlejoGuerraa/CampuScore.git
cd CampuScore- Instalar dependencias del backend
cd api
npm install
cd ..- Instalar dependencias del frontend
cd client
npm install
cd ..- Configurar la base de datos
Ejecutar el script SQL principal:
mysql -u root -p --local-infile=1 < inserts/insertsPesados.sqlLuego cargar los datos CSV desde MySQL:
LOAD DATA LOCAL INFILE 'ruta/a/conejos.csv'
INTO TABLE conejos
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(placa, raza, edad);
-- Repetir para alumnos.csv, notas_examenes.csv, alumno_materia.csv, alumnos_conejos.csvCrear archivo .env en la carpeta /api:
# Base de datos
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=tu_contraseña
DB_NAME=facultades
DB_PORT=3306
# Servidor
PORT=3000
NODE_ENV=development
# Frontend
VITE_API_URL=http://localhost:3000Terminal 1 - Backend:
cd api
npm startTerminal 2 - Frontend:
cd client
npm run devLa aplicación estará disponible en http://localhost:5173 (Vite dev server)
# Build del frontend
cd client
npm run build
# Ejecutar el backend en producción
cd api
npm start- Registro y búsqueda de estudiantes
- Información personal (DNI, teléfono, dirección, edad, nacionalidad)
- Asignación a facultades y carreras
- Visualización de historial académico
- Registro de notas de parciales (Parcial 1, Parcial 2)
- Registro de notas de exámenes finales
- Validación automática de aprobación por materia:
- Promedio ≥ 7: Aprobado directo
- Promedio 4-6: Acceso a examen final
- Promedio < 4: Reprobado (puede recursar)
- Cada calificación genera automáticamente una recompensa
- Edad del conejo: 11 - calificación (mejor nota = conejo más joven)
- Historial completo de conejos otorgados por estudiante
- Prerequisitos: No se pueden cursar materias de años superiores sin haber aprobado las del año anterior
- Materias por carrera: Solo se permiten materias asociadas a la carrera del estudiante
- Recurse automático: Permite reintentar materias reprobadas
Estado: En desarrollo 🚀
El proyecto se encuentra en fase activa de desarrollo con funcionalidades principales implementadas. Se continúa trabajando en optimizaciones, validaciones adicionales y mejoras de interfaz.
Alejo Guerra.
Nota: Este proyecto maneja grandes volúmenes de datos (más de 3,496 estudiantes y 100,000+ registros de calificaciones). Asegúrate de tener suficiente capacidad de almacenamiento y memoria disponibles.