U-Clases es una plataforma web desarrollada por estudiantes de la Facultad de Ciencias Físicas y Matemáticas de la Universidad de Chile que permite a alumnos ofrecer y solicitar clases particulares de forma sencilla, organizada y centralizada.
El proyecto está construido con Django y tiene como objetivo facilitar el intercambio de conocimiento entre pares, promoviendo el aprendizaje colaborativo y el desarrollo de habilidades docentes en la comunidad universitaria.
- Estudiantes que necesitan ayuda: pueden buscar tutores según su ramo, disponibilidad y tarifa.
- Estudiantes que desean enseñar: pueden ofrecer clases y gestionar sus solicitudes.
- La plataforma incluye funcionalidades como:
- Filtros por especialidad, precio y horario.
- Solicitud, confirmación o cancelación de clases.
- Calificación posterior a la clase.
- Notificaciones de nuevas solicitudes.
Actualmente, los estudiantes deben recurrir al foro de UCursos para encontrar o anunciar clases particulares, lo cual:
- Genera publicaciones desorganizadas.
- Reduce la visibilidad y accesibilidad.
- Dificulta la gestión de ofertas y solicitudes.
U-Clases resuelve esto ofreciendo un espacio exclusivo, claro y organizado, donde los estudiantes pueden gestionar clases desde una sola plataforma confiable.
- Django (Python)
- Node.js + npm
- HTML/CSS
- Tailwind CSS
- SQLite
- Git + GitHub
- Python 3.8 o superior
- Node.js y npm (para Tailwind CSS)
- Git
-
Clonar el repositorio
git clone https://github.com/DCC-CC4401/2025-2-CC4401-grupo-4.git cd 2025-2-CC4401-grupo-4 -
Crear y activar el entorno virtual
Desde la raíz del proyecto (
2025-2-CC4401-grupo-4/):En Windows (PowerShell):
python -m venv venv .\venv\Scripts\Activate.ps1En Linux/Mac:
python3 -m venv venv source venv/bin/activate -
Instalar dependencias de Python
Desde la raíz del proyecto (
2025-2-CC4401-grupo-4/):pip install -r requirements.txt
-
Instalar dependencias de Node.js (para Tailwind)
Desde la raíz del proyecto (
2025-2-CC4401-grupo-4/):npm install
-
Aplicar migraciones
Desde la carpeta
uclases/:cd uclases python manage.py migrate -
(Opcional) Cargar datos de prueba
Desde la carpeta
uclases/:python manage.py seed
-
Iniciar el servidor de Django
Desde la carpeta
uclases/:python manage.py runserver
-
Iniciar Tailwind (en modo watch)
En otra terminal, desde la carpeta
uclases/:npm run style
-
Acceder a la aplicación
Abre tu navegador en: http://localhost:8000
-
Crear superusuario (admin):
Desde la carpeta
uclases/:python manage.py createsuperuser
-
Acceder al panel de administración:
Si tienes npm run style ejecutándose pero los estilos no se aplican correctamente:
-
Recarga forzada del navegador para limpiar el caché:
- Windows/Linux:
Ctrl + F5oCtrl + Shift + R - Mac:
Cmd + Shift + R
- Windows/Linux:
-
Verifica que el proceso de Tailwind esté corriendo sin errores en la terminal.
-
Asegúrate de que los cambios se hayan guardado en los archivos HTML/templates.
Queremos mantener un código limpio, bien documentado y coherente. Si deseas contribuir al proyecto, por favor sigue estas directrices:
- La documentación debe escribirse en español.
- Los comentarios en el código deben estar en inglés.
- Los nombres de variables, funciones y clases deben estar en inglés.
- El proyecto sigue el patrón MVT (Model-View-Template).
- Se sigue la convención PEP8 para el código Python.
- Se usa snake_case para nombres de carpetas, archivos y también para funciones en python
- Se usa PascalCase para nombres de clases en Django
- Se usa camelCase para funciones de javascript
- Las vistas usan templates con HTML y CSS, manteniendo la lógica en el backend.
- Se usa Tailwind para los estilos y componentes visuales reutilizables.
- Cada nueva funcionalidad debe ir acompañada de su respectiva historia de usuario y ser asignada en un sprint.
- Los commits deben seguir la convención:
tipo([scope opcional]): descripción breve
Ejemplo:
feat(search-bar): agregar filtro de búsqueda por precio
fix(profile): corregir validación del formulario de registro