¡Hola! 👋 Bienvenido a TeachLog, la aplicación que va a transformar la forma en que gestionas tus clases y a tus increíbles estudiantes. Olvídate del estrés y dale la bienvenida a la eficiencia. ¡Prepárate para llevar un control impecable y ver tus esfuerzos traducidos en resultados claros!
- 📚 Gestión de Estudiantes sin Esfuerzo: ¡Añade, edita y despide a tus estudiantes con un clic! Toda su información, siempre a mano.
- ✏️ Registra Cada Clase, ¡Al Detalle!: Anota la fecha, la duración y la tarifa por hora de cada sesión. ¡Nunca más te perderás un registro!
- 💰 Balances por Estudiante, ¡Claridad Total!: Descubre cuánto tiempo y dinero se ha generado con cada uno de tus alumnos. ¡Tus finanzas bajo control!
- 📊 Tu Dashboard Personalizado (¡Visión 360°!):
- Clases dictadas y tiempo enseñado este mes.
- ¡El dinero acumulado en tu bolsillo este mes! 💸
- Un resumen histórico de todas tus clases, tiempo y ganancias. ¡Tu legado al alcance de tu mano!
- 🔐 Acceso Seguro y Personalizado: Tu información está protegida. Regístrate y accede para gestionar solo tus datos.
- 💖 Diseño Intuitivo y Amigable: ¡Usar TeachLog es un placer! Pensado para que tu experiencia sea fluida y agradable.
- React: Construyendo interfaces de usuario dinámicas y responsivas.
- Vite: ¡Un rayo para el desarrollo! Cargas instantáneas y un rendimiento increíble.
- Zustand: Nuestra solución ligera y potente para mantener el estado de tu aplicación bajo control.
- React Router DOM: Navegación fluida entre tus vistas.
- Bootstrap: ¡Estilos profesionales y responsive listos para usar!
- React-Card-Flip: ¡Efectos visuales geniales para tus tarjetas informativas!
- SweetAlert2: Mensajes de alerta que realmente llaman la atención (¡de la buena!).
- DiceBear: Generando avatares únicos y divertidos para cada estudiante.
- Flask: Un microframework de Python, rápido y robusto para nuestra API.
- Flask-SQLAlchemy: Conectando Flask con nuestra base de datos sin esfuerzo.
- SQLAlchemy: El poderoso ORM que gestiona nuestras interacciones con la base de datos.
- PostgreSQL (gestionado a través de Supabase): Una base de datos relacional de confianza, escalable y alojada en la nube para que no te preocupes por nada.
¿Listo para empezar? Sigue estos sencillos pasos:
- Node.js (versión LTS recomendada)
- Python (versión 3.x recomendada)
- npm (viene con Node.js) o yarn
- pip (viene con Python)
- Clona el repositorio (¡tu copia personal!):
git clone [https://github.com/PabloQuerales/TeachLog.git](https://github.com/PabloQuerales/TeachLog.git) # ¡Asegúrate de usar el nombre correcto de tu repo! cd TeachLog/backend # Entra en el cerebro del proyecto
- Crea y activa un entorno virtual (¡un espacio de trabajo limpio!):
python -m venv .virtualenvs/backend # En Windows: .virtualenvs\backend\Scripts\activate # En macOS/Linux: source .virtualenvs/backend/bin/activate
- Instala las dependencias de Python (¡todo lo que necesita para funcionar!):
(Tip: Si no tienes un
pip install -r requirements.txt
requirements.txt, puedes generarlo conpip freeze > requirements.txtdespués de instalar tus librerías). - Configura tu base de datos (¡conéctate a Supabase!):
Asegúrate de que tus variables de entorno para la conexión a PostgreSQL de Supabase estén bien configuradas (por ejemplo,
DATABASE_URL). (Si usas Flask-Migrate para las migraciones, no olvidesflask db init,flask db migrate,flask db upgradesi es necesario). - ¡Inicia el servidor Flask! (¡Que empiece la magia!):
Tu backend estará esperando peticiones en
flask run
http://127.0.0.1:5000(o el puerto que hayas configurado).
- Navega al directorio del frontend:
cd ../frontend # ¡Vamos a la parte visual!
- Instala las dependencias de Node (¡los ingredientes para la interfaz!):
npm install # o yarn install - Configura la URL del Backend (¡para que se comuniquen!):
Verifica que tu configuración en el frontend apunte a la dirección de tu backend (ej.
http://127.0.0.1:5000). - ¡Inicia el servidor de desarrollo de React! (¡A ver TeachLog en acción!):
Tu TeachLog se abrirá mágicamente en tu navegador (probablemente en
npm run dev # o yarn devhttp://localhost:5173con Vite).
¡TeachLog está creciendo y nos encantaría tu ayuda! Si tienes ideas, mejoras o encuentras algún bug, no dudes en:
- Hacer un "fork" de este repositorio.
- Crear una nueva rama para tus geniales cambios (
git checkout -b feature/MiNuevaFuncionalidad). - Realizar tus cambios y hacer un commit (
git commit -m '¡Añadida una función increíble!'). - Subir tus cambios (
git push origin feature/MiNuevaFuncionalidad). - Abrir un Pull Request. ¡Estaremos encantados de revisarlo!
Este proyecto está bajo la Licencia MIT. ¡Libre para usar, modificar y compartir!
¡Con mucho cariño, desarrollado por:
Pablo Querales
- GitHub: https://github.com/PabloQuerales
- LinkedIn: https://www.linkedin.com/in/pablo-querales/