Skip to content

Repository files navigation

TaskFlow · API

Backend REST en Laravel 10 para tareas, categorías, etiquetas y comentarios.
JSON bajo /api/v1 · autenticación por token · listo para cualquier frontend.

Laravel 10 PHP 8.3 Composer 2 PostgreSQL 18 Sanctum API Docker

Quick start

composer install
cp .env.example .env
php artisan key:generate
php artisan migrate --seed
php artisan serve

Requiere PHP 8.3 (extensión pdo_pgsql), Composer 2 y PostgreSQL 18. Configura DB_* y FRONTEND_URL (allowlist de CORS) en el .env antes de migrar. Las credenciales del seeder salen de ADMIN_* / DEMO_*; si dejas el *_PASSWORD vacío, se genera una al azar y se imprime. No fijes una contraseña real en .env.example.

Qué hace

  • 🔐 Auth por token (Sanctum, login por email)  · 
  • ✅ Tareas con papelera (soft delete, restaurar, borrar definitivo)  · 
  • 🏷️ Categorías y etiquetas privadas por usuario  · 
  • 💬 Comentarios públicos con moderación  · 
  • 🛡️ Roles admin / user + catálogo de permisos  · 
  • 🚦 Rate limiting  ·  🌐 CORS allowlist.

Arquitectura

Vertical slice: cada entidad vive en app/Modules/<X>/, autocontenida. El controlador solo orquesta; la lógica va en Actions.

flowchart LR
    C([Frontend]) -- "Bearer" --> R[routes] --> M{auth · admin} --> K[Controller]
    K --> Q[Request<br/>valida]
    K --> A[Action<br/>lógica] --> P[(Eloquent + Policy)]
    K --> S[Resource] -- "JSON" --> C
Loading
app/Modules/<Modulo>/
├── <Modulo>Controller.php   Orquesta: Request → Action → Resource
├── <Modulo>.php             Modelo Eloquent
├── routes.php               Rutas del módulo (montadas en /api/v1)
├── Actions/                 Lógica: una clase por operación
├── Requests/                Validación (contrato de entrada)
├── Resources/               Forma del JSON (contrato de salida)
├── Policies/                Permisos por recurso
├── Exceptions/              Reglas de negocio (ej. borrado con dependientes)
└── Middleware/              Solo si hace falta (ej. admin)

🧰 Comandos útiles

php artisan route:list             # ver rutas
php artisan db:seed                # recrear admin y demo
php artisan migrate:fresh --seed   # rehacer la BD (borra datos)
./vendor/bin/pint                  # formato de código

About

Scalable REST API for task management built with Laravel 10, PHP 8.3, PostgreSQL 18, and Laravel Sanctum.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages