Skip to content

Jirafa745/Desarrollo-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskApp – Sistema de Gestión de Tareas Colaborativo

Aplicación web completa para gestionar tareas de forma personal y colaborativa. Backend con Node.js + Express + SQLite. Frontend con HTML, CSS y JavaScript vanilla.


Estructura del proyecto

taskapp/
├── server.js                   ← Punto de entrada del servidor
├── package.json                ← Dependencias
├── .env                        ← Variables de entorno (PORT, JWT_SECRET)
│
├── database/
│   └── db.js                   ← Inicialización de SQLite
│
├── routes/
│   ├── auth.js                 ← Rutas de autenticación
│   ├── tareas.js               ← Rutas de tareas
│   └── usuarios.js             ← Rutas de usuarios
│
├── controllers/
│   ├── authController.js       ← Lógica de registro y login
│   ├── tareasController.js     ← CRUD de tareas
│   └── usuariosController.js   ← Gestión de usuarios
│
├── middlewares/
│   └── auth.js                 ← Verificación de JWT
│
└── public/                     ← Frontend estático
    ├── index.html
    ├── css/
    │   └── style.css
    └── js/
        └── app.js

Instalación y ejecución

1. Instalar dependencias

npm install

2. Configurar variables de entorno

Edita el archivo .env si lo necesitas:

PORT=3000
JWT_SECRET=mi_clave_secreta_super_segura_2024

3. Iniciar el servidor

# Producción
npm start

# Desarrollo (con recarga automática)
npm run dev

4. Abrir en el navegador

http://localhost:3000

Primer uso

  1. Crear cuenta: El primer usuario registrado recibe automáticamente el rol admin. Los usuarios siguientes reciben el rol usuario.

  2. Iniciar sesión: Usa el email y contraseña que registraste.

  3. Crear tareas: Haz clic en "+ Nueva Tarea" y completa el formulario.

  4. Filtrar: Usa los selectores de la barra de herramientas para filtrar por estado o usuario.

  5. Vista Kanban: Haz clic en ⊞ para ver las tareas organizadas en columnas.


API REST

Todas las rutas (excepto auth) requieren el header:

Authorization: Bearer <token>
Método Ruta Descripción
POST /api/auth/registro Crear cuenta
POST /api/auth/login Iniciar sesión (devuelve JWT)
GET /api/auth/perfil Ver perfil del usuario autenticado
GET /api/tareas Listar tareas (filtros opcionales)
GET /api/tareas/:id Ver una tarea
POST /api/tareas Crear tarea
PUT /api/tareas/:id Actualizar tarea
DELETE /api/tareas/:id Eliminar tarea
GET /api/usuarios Listar usuarios
DELETE /api/usuarios/:id Eliminar usuario (solo admin)

Filtros en GET /api/tareas

/api/tareas?estado=pendiente
/api/tareas?asignado_a=2
/api/tareas?buscar=diseño
/api/tareas?estado=en-progreso&asignado_a=1

Roles

  • admin: Puede ver y gestionar todas las tareas y usuarios.
  • usuario: Solo ve sus tareas (las que creó o le asignaron). El asignado puede cambiar el estado; el creador puede editar o eliminar.

Tecnologías usadas

  • Backend: Node.js, Express, better-sqlite3, bcrypt, jsonwebtoken, dotenv, cors
  • Frontend: HTML5, CSS3, JavaScript vanilla (fetch, async/await)
  • Base de datos: SQLite (archivo local database/tareas.db)

About

TASKAPP

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors