EN

Proyecto

Personal Tasks Manager

Kanban personal fullstack con autenticación OAuth2, AWS serverless y despliegue automatizado con CDK.

Ver en GitHub →

Objetivo

Aplicación fullstack serverless para gestionar tareas personales mediante un tablero Kanban. El proyecto sirve como sandbox para explorar arquitectura cloud moderna: autenticación OAuth2 con AWS Cognito, API serverless con Lambda y API Gateway, persistencia con diseño de tabla única en DynamoDB, y frontend React desplegado en S3 + CloudFront. Todo el ciclo de vida de la infraestructura está automatizado con AWS CDK v2 y GitHub Actions.


Cómo funciona

  1. Autenticación con GoogleEl usuario inicia sesión con su cuenta de Google a través de AWS Cognito con flujo OAuth2 PKCE. Cognito emite los tokens JWT que el frontend usa para autorizar cada petición a la API.
  2. Gestión de tareas en el KanbanEl frontend React muestra las tareas organizadas en columnas: Backlog → Planificación → Ejecución → Validación → Finalizado, más estados de Pausado y Cancelado. Las tarjetas se pueden crear, editar y mover entre columnas.
  3. Operaciones CRUD vía APICada acción del usuario (crear, actualizar, mover tarea) dispara una llamada al API Gateway, que enruta la petición a la función Lambda correspondiente. Los tokens JWT se validan en cada request.
  4. Persistencia en DynamoDBLas tareas y comentarios se almacenan en DynamoDB con diseño de tabla única. Las tareas soportan tipo puntual o recurrente, con campos opcionales de fecha límite y fecha de recurrencia.
  5. Comentarios por tareaCada tarea tiene su propia sección de comentarios para agregar notas o bitácora de avance, almacenados como items relacionados en la misma tabla DynamoDB.
  6. Despliegue con CDK y GitHub ActionsLa infraestructura está definida como código con AWS CDK v2. GitHub Actions automatiza el build del frontend (S3 + CloudFront) y el despliegue de las funciones Lambda en cada push a main.

Tipos de tareas

Las tareas pueden ser de tipo puntual (con fecha límite opcional) o recurrente (con fecha de recurrencia). El sistema incluye utilidades de importación y exportación de la base de datos para respaldos manuales.


Servicios AWS


Stack

React 18ViteTypeScriptNode.js 24AWS CDK v2LambdaDynamoDBAPI GatewayCognitoS3CloudFrontRoute53GitHub Actions