ProfeSort es un sistema de gestión digital integral diseñado para el Plan de Finalización de Estudios (FinEs). Su objetivo principal es optimizar los procesos administrativos y académicos, mejorando la eficiencia en la gestión de estudiantes, docentes y materias, y facilitando la toma de decisiones a partir de datos confiables. Este sistema busca elevar la calidad del servicio educativo ofrecido y modernizar la administración del plan.
El sistema está siendo desarrollado por etapas. En esta primera fase se busca implementar funcionalidades esenciales, entre ellas:
- Visualización pública de un sitio web responsive con secciones de inicio, login/registro y sobre nosotros.
- Gestión de materias: registro de materias y su asociación.
- Asignación de materias a los docentes correspondientes.
- Visualización de métricas básicas desde un panel de administración-/li><
- Acceso para docentes, quienes podrán registrarse y visualizar sus materias a cargo.
Para ejecutar ProfeSort se detallan los pasos de instalación y ejecución:
Sigue estos pasos para configurar y levantar el servidor backend en tu entorno de desarrollo.
-
Navega al directorio del proyecto
backend:cd backend -
Crea y activa un entorno virtual (recomendado para aislar dependencias):
python -m venv venv
venv\Scripts\activate
-
Instala las dependencias de Python:
pip install -r requirements.txt
-
Crea el archivo de variables de entorno
.enven el directoriobackend/y configúralo con tus credenciales de PostgreSQL.DB_NAME=profesort_db DB_USER=postgres DB_PASSWORD=tu_password # Coloca tu contraseña real de PostgreSQL DB_HOST=localhost DB_PORT=5432 SECRET_KEY=tu_secret_key # Generás una clave segura DEBUG=True
-
Crea la base de datos PostgreSQL (ejecuta esto en tu cliente de base de datos, como pgAdmin o psql):
CREATE DATABASE profesort_db;
-
Ejecuta las migraciones de Django para crear las tablas:
python manage.py makemigrations python manage.py migrate
-
Inicializa los datos base (roles y un usuario administrador):
python init_data.py
Inicia el servidor de desarrollo de Django:
python manage.py runserverEl frontend es la aplicación web que interactúa con la API.
-
Abre una nueva terminal y navega al directorio
frontend:cd frontend -
Instala las dependencias de Node.js (asegúrate de tener Node.js y npm instalados):
npm install -
Inicia el servidor de desarrollo y abre la aplicación:
ng serve -oLa aplicación se abrirá automáticamente (usualmente en
http://localhost:4200), y ya podrás ver la interfaz visual.
Una vez que ambos servidores (Backend y Frontend) están corriendo, puedes simular el flujo de trabajo inicial del sistema:
-
Inicio de Sesión como Administrador:
- Ingresa a la aplicación web (Frontend) e inicia sesión con las credenciales:
- Desde el panel, navega a la sección de Materias y Crea una nueva Materia (ej. "Historia").
- Ingresa a la aplicación web (Frontend) e inicia sesión con las credenciales:
-
Registro de un Nuevo Docente:
- Cierra la sesión del administrador.
- Utiliza la opción de Registro en la interfaz para crear una cuenta nueva. Esta cuenta representará a un nuevo Docente.
-
Asignación de Materia (Administrador):
- Vuelve a iniciar sesión como administrador.
- Desde el panel, navega a la sección de Asignación Docente-Materia y Asigna la Materia que creaste (ej. "Historia") al Docente que acabas de registrar.
-
Verificación Docente:
- Cierra la sesión del administrador.
- Inicia sesión como el Docente recién registrado.
- El docente podrá ver la Materia Asignada ("Historia") en su panel materias.