EduTask es una plataforma avanzada de gestión de proyectos diseñada para facilitar el trabajo en equipo mediante metodologías ágiles como SCRUM y Kanban. Similar a herramientas de la industria como JIRA, EduTask permite a los equipos planificar, rastrear y entregar software de manera eficiente, ofreciendo una experiencia fluida, interactiva y centralizada.
✨ Características Destacadas:
- Seguridad: Sistema de autenticación robusto con JWT y roles de usuario.
- Interactividad: Tableros Kanban dinámicos para el seguimiento de tareas.
- Colaboración: Gestión de miembros, invitaciones por correo y notificaciones.
- Agilidad: Soporte nativo para sprints, épicas, historias de usuario y estimaciones.
El proyecto está construido sobre un stack moderno y escalable (MERN Stack + TypeScript), garantizando un alto rendimiento:
- React.js & TypeScript - Construcción de interfaces de usuario tipadas y seguras.
- Material-UI (MUI) - Sistema de diseño y componentes visuales atractivos.
- React Router - Enrutamiento dinámico en el lado del cliente.
- Axios - Cliente HTTP para el consumo eficiente de la API.
- Node.js & Express.js - Lógica del servidor, enrutamiento y API RESTful.
- MongoDB & Mongoose - Base de datos NoSQL orientada a documentos y ODM.
- JWT & bcryptjs - Autenticación sin estado y encriptación segura de contraseñas.
- Nodemailer - Servicio integrado para el envío de correos transaccionales.
Antes de comenzar, asegúrate de tener instaladas las siguientes herramientas en tu entorno local:
- 🟢 Node.js (v16.x o versión superior).
- 🍃 MongoDB (v4.4 o superior) ejecutándose localmente, o una URI de conexión de MongoDB Atlas.
- 📦 npm (incluido con Node.js) o Yarn como gestor de paquetes.
- ✉️ Una cuenta de correo electrónico (ej. Gmail con contraseña de aplicación) para el envío de notificaciones.
Sigue estos pasos para descargar el código fuente y levantar el proyecto en tu máquina local en cuestión de minutos.
Abre tu terminal de preferencia y ejecuta el siguiente comando para clonar el proyecto a través de su enlace oficial:
git clone https://github.com/tu-usuario/EduTask.git
cd EduTask💡 Nota: Recuerda reemplazar
tu-usuariopor el nombre de usuario o la ruta real del repositorio en GitHub.
# Navegar al directorio del servidor
cd backend
# Instalar todas las dependencias necesarias
npm install
# Generar el archivo de variables de entorno
cp .env.example .envConfigura tu archivo .env (backend/.env) con los siguientes datos esenciales:
PORT=5000
MONGODB_URI=mongodb://localhost:27017/edutask
JWT_SECRET=tu_secreto_super_seguro_jwt
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=tu_correo@gmail.com
SMTP_PASS=tu_contraseña_de_aplicacion
FRONTEND_URL=http://localhost:3000Iniciar el servidor backend en modo desarrollo:
npm run devAbre una nueva ventana o pestaña en tu terminal:
# Volver a la raíz y entrar al directorio del cliente
cd ../frontend
# Instalar las dependencias de la UI
npm install
# Generar el archivo de variables de entorno para React
cp .env.example .envIniciar la aplicación web:
npm start🎉 ¡Todo listo!
- El cliente (Frontend) estará disponible interactivo en:
http://localhost:3000 - La API (Backend) estará escuchando peticiones en:
http://localhost:5000
Para facilitar la evaluación y desarrollo rápido de la plataforma, hemos incluido un script de sembrado de datos (seed.js) en el backend que poblará la base de datos MongoDB con proyectos ágiles y usuarios de prueba listos para interactuar.
Para sembrar la base de datos en cualquier momento, ejecuta:
cd backend
node seed.js| Nombre | Rol asignado | Correo Electrónico (Email) | Contraseña | Nombre de Usuario |
|---|---|---|---|---|
| Eduardo Administrador | Owner / Administrador | edumoraloscarlos@gmail.com |
Password123 |
edu_admin |
| Diana Desarrolladora | Desarrollador | diana.dev@edutask.com |
Password123 |
diana_dev |
| Tomas Tester | Tester | tomas.tester@edutask.com |
Password123 |
tomas_tester |
💡 Nota sobre el botón rápido de Google: En la pantalla de inicio de sesión, al hacer clic sobre el botón de "Google", el sistema intentará autenticarte de forma automatizada y preferencial con tu nueva cuenta real registrada (
edumoralescarlos@gmail.comconAdmin123) o con la cuenta administradora semilla (edumoraloscarlos@gmail.comconPassword123).
