Sistema local desarrollado en Python + PostgreSQL con interfaz gráfica Tkinter.
- Python 3.9+
- PostgreSQL 13+
- psycopg2-binary
pip install psycopg2-binaryEdita db/connection.py si tus credenciales de Postgres son diferentes:
DB_CONFIG = {
"host": "localhost",
"port": 5432,
"database": "Nombre de la base de datos",
"user": "Su usario",
"password": "Su contraseña"
}Iniciar el entorno de python env en la raiz del proyecto
python -m venv venv
source venv/bin/activateEn la base hay:
- 20 estudiantes (
est01–est20) - 12 docentes (
doc01–doc12) - 3 administrativos (
admin01–admin03) - 12 materias
- 1 periodo activo: 2026-2
Contraseña de todos los usuarios: 123456
Para volcar la bd:
psql -h localhost -U tu_usuario_postgres -d condor_db -f Postgrest.txtpython main.py- Login con
est01/123456 - Inscripción: selecciona materias → envía solicitud
- Mi Horario: ver horario (disponible tras aprobación)
- Mis Notas: ver notas publicadas por el docente
- Login con
admin01/123456 - Solicitudes: ver pendientes → seleccionar sección por materia → aprobar o rechazar
- Horarios Docentes: crear/eliminar secciones para cada docente
- Registrar Docente: inscribir nuevos profesores
- Historial: ver todas las solicitudes
- Login con
doc01/123456 - Mis Cursos: ver secciones asignadas y lista de inscritos
- Ingresar Notas:
- Selecciona sección
- Por cada estudiante llena notas y pesos
- 1er corte: 3 notas con sus pesos (suma pesos ≤ 35%)
- 2do corte: igual que el 1er corte
- 3er corte: Examen final 30% fijo
- Notas entre 0 y 50
- Guarda individual → publica sección completa
academia/
├── main.py # Punto de entrada
├── db/
│ ├── conexion.py # Configuración DB
├── models/
│ └── models.py # Capa de datos (SQL)
└── views/
├── base_view.py # Ventana base + constantes UI
├── login_view.py # Login
├── estudiante_view.py # Portal estudiante
├── docente_view.py # Portal docente
└── admin_view.py # Portal administrativo
Definitiva = (Σ nota_i × peso_i / 100) [1er corte]
+ (Σ nota_i × peso_i / 100) [2do corte]
+ examen_final × 0.30
Ejemplo:
- 1er corte: nota 40 peso 20%, nota 35 peso 15% → subtotal = 8 + 5.25 = 13.25
- 2do corte: nota 45 peso 35% → subtotal = 15.75
- Examen: 42 → 42×0.20 = 8.4
- Definitiva: 13.25 + 15.75 + 8.4 = 37.4 / 100