Triolingo es una plataforma de aprendizaje de idiomas, similar a Duolingo, desarrollada con Express, EJS y MySQL. Los usuarios pueden aprender y practicar diferentes idiomas a través de ejercicios interactivos, lecciones y seguimiento de su progreso.
Estas instrucciones te permitirán obtener una copia del proyecto en funcionamiento en tu máquina local para propósitos de desarrollo y pruebas.
Mira Deployment para conocer cómo desplegar el proyecto.
Para ejecutar este proyecto en tu máquina, necesitas tener instalados los siguientes programas:
- Node.js (LTS recomendado)
- MySQL - Base de datos utilizada para almacenar usuarios, lecciones y progreso
- pnpm para gestionar las dependencias
-
Clona el repositorio
git clone https://github.com/AnderCMD/Triolingo.git
-
Navega al directorio del proyecto
cd Triolingo
-
Instala las dependencias
pnpm install
-
Crea un archivo
.env
en el directorio raíz con las siguientes variables de entorno:DB_HOST=localhost DB_USER=root DB_PASSWORD=tu_contraseña DB_NAME=triolingo
-
Ejecuta el servidor de desarrollo
pnpm dev
-
Abre el navegador y accede a
http://localhost:3000
para comenzar a usar Triolingo.
Este proyecto no incluye pruebas automatizadas actualmente, pero puedes probar las funcionalidades manualmente:
- Asegúrate de que el servidor y la base de datos estén funcionando correctamente.
- Inicia sesión con un usuario y verifica que puedas acceder al tablero y realizar lecciones.
- Verifica que el progreso se registre correctamente en la base de datos.
Para desplegar este proyecto en un servidor de producción:
-
Construye el proyecto para producción:
pnpm build
-
Sube el frontend y el servidor Express a tu servidor de producción.
-
Asegúrate de que la base de datos MySQL esté configurada correctamente en el servidor de producción.
-
Configura las variables de entorno adecuadas para MySQL en el servidor.
- Express - Framework web para Node.js utilizado en el backend
- EJS - Motor de plantillas utilizado para renderizar las vistas
- MySQL - Base de datos relacional utilizada para almacenar información de usuarios, lecciones y progreso
Este proyecto ha sido realizado por mí. Si tienes alguna sugerencia o mejora, no dudes en abrir un pull request.
- Ander González - Ingeniero en Software - AnderCMD
- Emilio Arevalo Quiroz | Ver perfil
- Eder Javier Sosa Rivera | Ver perfil
Este proyecto está bajo la Licencia MIT - mira el archivo LICENSE.md para detalles.
⌨️ con ❤️ por AnderCMD 😊