Este proyecto es un sistema de gestión de tareas completo que incluye tanto una API backend como una aplicación frontend. Permite la creación, actualización, eliminación y consulta de tareas, prioridades y estados.
- Backend: Construido con Node.js, Express, y Prisma para gestionar la lógica del negocio y el almacenamiento de datos en una base de datos SQLite.
- Frontend: Desarrollado en Angular 14 con Tailwind CSS para la creación de interfaces de usuario modernas y responsivas.
- Dashboard: Muestra un resumen de todas las tareas.
- Gestión de Tareas: Puedes agregar, editar y eliminar tareas fácilmente.
- CRUD de Tareas: Crear, leer, actualizar y eliminar tareas.
- Manejo de Prioridades y Estados: Gestionar prioridades y estados asociados a las tareas.
- Base de datos SQLite: Ligera y eficiente para proyectos pequeños a medianos.
- TypeScript: Mejora la calidad del código con tipos estáticos.
- Interfaz de Usuario Moderno: Construido con Angular 14 y estilizado con Tailwind CSS.
- Gestión de Tareas: Interfaces intuitivas para gestionar tareas, incluyendo la creación, edición y visualización.
- Componentes Reutilizables: Componentes modulares para facilitar la expansión y mantenimiento.
- Routing Dinámico: Navegación fluida entre diferentes vistas como el dashboard, lista de tareas, etc.
- Clona este repositorio:
git clone https://github.com/tuusuario/task-manager-api.git
cd task-manager/api
- Instala las dependencias:
npm install
- Crea un archivo .env en la raíz del proyecto con las variables de entorno necesarias:
PORT=3000
DATABASE_URL="file:./dev.db"
- Ejecuta las migraciones para configurar la base de datos:
npx prisma migrate dev --name init
- Inicia el servidor de desarrollo:
npm run dev
- Navega a la carpeta raíz para posicionarte en front
cd task-manager
- Instala las dependencias:
npm install
- Inicia la aplicación frontend:
ng serve
- Accede a la aplicación en http://localhost:4200.
Aplicación diseñada para ayudar a los usuarios a gestionar sus tareas diarias de manera eficiente. La aplicación ofrece un Dashboard central donde se resumen todas las tareas según su estado: pendientes, en proceso, finalizadas y vencidas. Además, permite acceder a una vista detallada de las tareas individuales, donde los usuarios pueden ver, editar y actualizar el estado de cada tarea.
- Dashboard: Al acceder a la aplicación, los usuarios son recibidos con un dashboard que proporciona una visión general del estado de todas sus tareas a lo largo del año actual. El dashboard se divide en cuatro categorías principales:
- Pendientes: Tareas que aún no se han iniciado.
- En Proceso: Tareas que están actualmente en progreso.
- Finalizadas: Tareas que han sido completadas.
- Vencidas: Tareas que no se completaron a tiempo.
Esta visualización ayuda a los usuarios a identificar rápidamente el estado de sus proyectos y a priorizar sus actividades en consecuencia.
Gestión de Tareas: Los usuarios pueden acceder a una vista más detallada de las tareas, donde pueden ver información específica sobre cada tarea, como su prioridad, fecha de vencimiento, y estado actual. Desde esta vista, es posible actualizar el estado de las tareas, lo que facilita la gestión y el seguimiento de las mismas.
- GET /tasks: Obtener todas las tareas.
- POST /tasks: Crear una nueva tarea.
- PUT /tasks/:id: Actualizar una tarea existente.
- DELETE /tasks/:id: Eliminar una tarea.
- GET /priority: Obtener todas las prioridades.
- POST /priority: Crear una nueva prioridad.
- PUT /priority/:id: Actualizar una prioridad existente.
- DELETE /priority/:id: Eliminar una prioridad.
- GET /state: Obtener todos los estados.
- POST /state: Crear un nuevo estado.
- PUT /state/:id: Actualizar un estado existente.
- DELETE /state/:id: Eliminar un estado.
- Home: Vista de bienvenida y resumen del sistema (building).
- Dashboard: Vista general de las tareas con estadísticas.
- Tasks: Lista detallada de tareas con opciones de gestión.