Esta es una aplicación de Gestión de Tareas desarrollada como prueba técnica para un sistema SaaS. La aplicación permite a los usuarios gestionar sus tareas y aprovechar funcionalidades de suscripción y sugerencias de IA.
-
Autenticación y Registro de Usuarios
- Inicio de sesión y registro de usuarios mediante autenticación API First.
- Integración con Laravel Jetstream y manejo de sesiones en el frontend con Livewire.
-
Gestión de Tareas
- Crear, editar y eliminar tareas con un flujo sencillo de UI en tiempo real.
- Posibilidad de cambiar el estado de las tareas (
pending,in_progress,completed) mediante un sistema de arrastrar y soltar usandoSortable.js. - Límites de tareas en función del plan de suscripción del usuario (gratuito y premium).
- Sugerencias de títulos y descripciones de tareas mediante la API de ChatGPT.
-
Sistema de Suscripción
- Planes de suscripción gestionados a través de PayPal y
srmklive/paypal. - Asignación de planes gratuitos por defecto y control de tareas limitado según el plan del usuario.
- Rutas de retorno (
successycancel) para el proceso de suscripción con PayPal. - Gestión de la suscripción en el backend con historial de planes y la posibilidad de cancelar y cambiar suscripciones.
- Planes de suscripción gestionados a través de PayPal y
-
Interfaz de Usuario (Frontend)
- Frontend interactivo y dinámico utilizando Livewire 3 y Tailwind CSS.
- Componentes personalizados para la lista de tareas, vista de planes y cabecera con datos del usuario.
- Integración de notificaciones
Toastrpara mensajes en tiempo real.
-
API de Sugerencias IA
- Integración con la API de OpenAI para sugerencias de títulos y descripciones de tareas.
- Límite de uso de la API configurado para evitar sobrecargar el límite de cuota.
-
Clonar el repositorio
git clone https://github.com/foxcollins/TaskManagementSaaS cd taskmanagement -
Instalación de dependencias
composer install npm install && npm run dev -
Configuración del archivo .env
cp .env.example .env
Luego, configura los siguientes parámetros:
-
Generar la clave de la aplicación y migrar la base de datos
php artisan key:generate php artisan migrate --seed
-
Configurar Laragon (opcional)
Si usas Laragon, configura la URL para la aplicación en el archivo .env:
APP_URL=https://taskmanagement.mn/
Inicia el servidor de desarrollo: ```bash php artisan serve
-
Arrastrar y Soltar Tareas
- Las tareas pueden moverse entre columnas de estado (pending, in_progress, completed) utilizando Sortable.js.
- Después de mover una tarea, el estado se actualiza en el backend manteniendo la posición actual.
- Limitación de Tareas según Suscripción
-
Control de la cantidad de tareas disponibles para cada tipo de plan (gratuito/premium).
- Mensaje de alerta al usuario cuando se alcanza el límite de tareas.
- Sugerencias de Títulos y Descripciones con OpenAI
-
La API de OpenAI proporciona sugerencias de título y descripción mientras el usuario escribe.
- Configurado para limitar el número de llamadas a la API según el límite de uso gratuito.
- Endpoints y API
- La aplicación sigue un enfoque API First para la mayoría de sus funcionalidades. Aquí algunos endpoints destacados:
-
Usuarios: /api/users - Registro y autenticación de usuarios.
- Tareas: /api/tasks - CRUD de tareas.
- Suscripciones: /api/subscriptions - Gestión de planes y suscripciones.
- Backend: Laravel 11, Livewire 3
- Frontend: Bootstrap CSS, Sortable.js, Toastr, Sweetaleer2.js
- API de Pagos: PayPal (srmklive/paypal)
- API de Sugerencias: OpenAI GPT API
Las contribuciones son bienvenidas. Por favor, sigue estos pasos para colaborar:
Fork el proyecto.
Crea una nueva rama (git checkout -b feature/nueva-feature).
Realiza tu commit (git commit -am 'Añade una nueva feature').
Haz push de la rama (git push origin feature/nueva-feature).
Abre un Pull Request.
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the Laravel documentation.
In order to ensure that the Laravel community is welcoming to all, please review and abide by the Code of Conduct.
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [email protected]. All security vulnerabilities will be promptly addressed.
The Laravel framework is open-sourced software licensed under the MIT license.