Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

image

Sistema Integral de Gestión de Tareas y Proyectos Ágiles

React Node.js MongoDB TypeScript


📖 ¿Qué es EduTask?

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.

🛠️ Herramientas de Desarrollo (Tech Stack)

El proyecto está construido sobre un stack moderno y escalable (MERN Stack + TypeScript), garantizando un alto rendimiento:

🌐 Frontend (Cliente)

  • 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.

⚙️ Backend (Servidor)

  • 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.

📋 Requisitos Previos

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.

🚀 Clonación y Ejecución Local

Sigue estos pasos para descargar el código fuente y levantar el proyecto en tu máquina local en cuestión de minutos.

1️⃣ Clonar el Repositorio

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-usuario por el nombre de usuario o la ruta real del repositorio en GitHub.

2️⃣ Configurar y Levantar el Backend

# Navegar al directorio del servidor
cd backend

# Instalar todas las dependencias necesarias
npm install

# Generar el archivo de variables de entorno
cp .env.example .env

Configura 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:3000

Iniciar el servidor backend en modo desarrollo:

npm run dev

3️⃣ Configurar y Levantar el Frontend

Abre 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 .env

Iniciar 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

👥 Cuentas de Prueba Sembradas (Seeded Test Accounts)

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

🔐 Credenciales Disponibles:

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.com con Admin123) o con la cuenta administradora semilla (edumoraloscarlos@gmail.com con Password123).


About

Gestión de Tareas similar que Jira

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages