📘 PRAE: Plataforma de Registro Académico Estudiantil (Frontend)

Bienvenido al repositorio del frontend de PRAE, una aplicación web creada para optimizar y modernizar la gestión académica en instituciones educativas, especialmente colegios.


🚀 ¿Qué es PRAE?

PRAE es una plataforma integral que facilita la administración académica para rectores, docentes y estudiantes. Permite gestionar cursos, calificaciones, observaciones, estadísticas académicas y mucho más, todo en tiempo real y desde una interfaz moderna y accesible.

Este repositorio contiene el frontend de la aplicación, desarrollado con tecnologías modernas para ofrecer una experiencia ágil, intuitiva y responsiva.


🌟 Características del Frontend

  • 🎓 Gestión Académica: Visualización y administración de estudiantes, docentes, cursos y materias.
  • 🧑‍🏫 Roles Personalizados: Interfaces adaptadas según el rol (rector, docente, estudiante).
  • 📝 Registro de Calificaciones y Observaciones: Herramientas para docentes y visualización por parte de los estudiantes.
  • 📊 Estadísticas Académicas: Módulo de reportes visuales con análisis por curso, grado y materia.
  • 💬 Chat de Ayuda con IA: Asistente académico inteligente para resolver dudas de los estudiantes.
  • 🔔 Notificaciones: Alertas y recordatorios académicos importantes.
  • 🎨 Diseño responsivo y moderno: Estilos dinámicos adaptados a todo tipo de dispositivos.

🛠️ Tecnologías Utilizadas

CategoríaTecnologías / Librerías
⚛️ Framework principalReact 19 (react, react-dom)
🚦 Ruteoreact-router-dom@7 (manejo de rutas y navegación SPA)
🎨 Estilossass, sass-loader, global.scss, variables.scss
📦 Plantilla basecra-template (Create React App)
💬 Notificacionesreact-hot-toast (notificaciones toast personalizadas)
🎭 Animacionesframer-motion
🎨 Íconosreact-icons
🧱 Diseñoreact-masonry-css
🔍 Selects personalizablesreact-select
📊 Gráficasrecharts (gráficos interactivos y estadísticos)
🔐 Decodificación JWTjwt-decode (lectura del payload de tokens)
🌐 Comunicación en tiempo realsocket.io-client
🧪 Testingreact-scripts test, App.test.js, setupTests.js
🚀 Desempeño y métricasweb-vitals, @vercel/speed-insights
🔧 Lintereslint, eslintConfig
⚙️ Babel Plugin@babel/plugin-proposal-private-property-in-object

📁 Estructura del Proyecto

📦 praefrontend
 ┣ 📂 public                # Archivos estáticos públicos
 ┣ 📂 src                   # Código fuente principal
 ┃ ┣ 📂 assets              # Recursos multimedia como imágenes y logos
 ┃ ┣ 📂 componentes         # Componentes reutilizables (botones, tarjetas, etc.)
 ┃ ┣ 📂 Contexts            # Manejo global de estado (Auth, Temas, etc.)
 ┃ ┣ 📂 paginas             # Páginas principales según rutas
 ┃ ┣ 📂 routes              # Definición de rutas y navegación
 ┃ ┣ 📜 App.jsx             # Componente raíz de la aplicación
 ┃ ┣ 📜 App.test.js         # Tests de la App
 ┃ ┣ 📜 index.js            # Punto de entrada de React
 ┃ ┣ 📜 global.scss         # Estilos generales
 ┃ ┣ 📜 variables.scss      # Variables y configuración de estilos
 ┃ ┣ 📜 reportWebVitals.js  # Métricas de rendimiento
 ┃ ┗ 📜 setupTests.js       # Configuración inicial para pruebas
 ┣ 📜 .env                  # Variables de entorno del frontend
 ┣ 📜 package.json          # Dependencias y scripts
 ┣ 📜 .gitignore            # Archivos ignorados por Git
 ┗ 📜 README.md             # Documentación del proyecto (este archivo)

📚 Documentación

  • 📄 El proyecto fue documentado utilizando JSDoc, una herramienta estándar para generar documentación a partir de comentarios en el código JavaScript.
  • 🎨 Se utilizó el tema clean-jsdoc-theme para mejorar la presentación visual de la documentación, brindando una apariencia limpia y profesional.

🚀 Despliegue

El frontend puede ser desplegado fácilmente en servicios como:

Vercel:
https://praeapp.vercel.app/login
Netlify
https://praeweb.netlify.app/login

📦 Instalación y Ejecución Local

# Clona el repositorio
git clone https://github.com/tu-usuario/prae-frontend.git

# Entra al directorio
cd prae-frontend

# Instala dependencias
npm install

# Corre el proyecto en desarrollo
npm start

👥 Autores

  • Juan Camilo Henao
  • Jean Carlo Londoño Neira
  • Isabella Rebellon Medina

🤝 Contribuciones Las contribuciones son bienvenidas. Si deseas aportar mejoras, arreglar errores o proponer nuevas funcionalidades, por favor crea un fork y abre un Pull Request.