Gestor de Proyectos, Tareas e Imputación de Horas con Filament 3

Información del proyecto descargable

Este proyecto es un gestor de proyectos, tareas e imputación de horas desarrollado para ayudar a administradores y usuarios a gestionar eficientemente sus actividades diarias. El sistema consta de dos paneles desarrollados con Filament 3: uno para administradores y otro para taskers.

Cursos recomendados para entender este proyecto

Formas de utilizar este proyecto

  • Como estudio, si te interesa aprender a desarrollar una tienda online, aquí tienes un ejemplo completo para que puedas ver como llevar a cabo este desarrollo.

  • Como punto de partida, si te gusta la idea, y quieres llevarla al siguiente nivel, tienes un punto de partida perfecto. Si en este punto necesitas mis servicios, puedes contactar conmigo a través del formulario de contacto y decirme qué necesitas.

Formas de utilizar este proyecto

  • Como estudio, si te interesa aprender a desarrollar este tipo de aplicaciones, aquí tienes un ejemplo completo para que puedas ver como llevar a cabo este desarrollo.

  • Como proyecto personal, yo como freelance, durante mucho tiempo, tuve que utilizar una herramienta similar para apuntar mis jornadas, puede ser algo muy útil.

  • Como punto de partida, si te gusta la idea, y quieres llevarla al siguiente nivel, tienes un punto de partida perfecto. Si en este punto necesitas mis servicios, puedes contactar conmigo a través del formulario de contacto y decirme qué necesitas.

Funcionalidades del Panel de Administración:

  • Gestión de Usuarios (Taskers): El administrador puede crear, editar y eliminar usuarios (taskers) del sistema.

  • Envío de Correo Electrónico: Al crear un usuario, se le envía un correo electrónico para establecer su contraseña.

  • Estadísticas de Usuarios: El panel muestra estadísticas de total usuarios, usuarios activos e inactivos.

  • Gráfica de Registro de Usuarios: Se muestra una gráfica que representa el número de usuarios registrados durante el año en curso, mes a mes.

  • Activación/Desactivación de Usuarios: El administrador puede decidir si los usuarios están activos o inactivos. Los usuarios inactivos no pueden acceder al panel.

  • Exportación de Datos: Los listados de usuarios permiten exportar los datos a Excel.

  • Filtros Avanzados: Se pueden aplicar filtros por varios campos en los listados de usuarios.

  • Operaciones de Edición y Borrado: El administrador puede editar, borrar, forzar borrar y restaurar usuarios.

Funcionalidades del Panel de Taskers:

  • Gestión de Proyectos: Los taskers pueden crear proyectos.

  • Gestión de Tareas: Los taskers pueden crear tareas asociadas a un proyecto a través de un RelationManager.

  • Imputación de Horas: Los taskers pueden reportar sus jornadas de trabajo seleccionando un proyecto y una tarea, junto con fecha, hora de inicio y de fin.

  • Botón de Hora por Defecto: Existe un botón adicional para establecer las horas de inicio y fin por defecto para futuros usos del formulario.

  • Estadísticas de Proyectos: El panel muestra estadísticas de total, proyectos activos e inactivos.

  • Estadísticas de Horas Reportadas: Se muestran estadísticas de horas reportadas totales en el listado de reportes.

  • Exportación de Datos: Los listados de proyectos, tareas y reportes permiten exportar los datos a Excel.

  • Filtros Avanzados: Se pueden aplicar filtros por varios campos y rangos de fechas en los listados de proyectos y reportes.

  • Operaciones de Edición y Borrado: Los taskers pueden realizar operaciones de edición, borrado, forzar borrado y restaurar en los listados de proyectos y reportes.

Dependencias utilizadas

Archivo .env

Crea el archivo .env a partir del archivo .env.example y ajusta tus variables de entorno.

Yo he modificado el nombre del servicio de laravel.test por taskmaster en el docker-compose.yml, si tú también quieres hacer algo similar, recuerda ajustar la variable de entorno que define el nombre del servicio por lo mismo que definas en tu docker-compose.yml:

APP_SERVICE=taskmaster

Recuerda que el host de la conexión con MySQL es el servicio de docker-compose, así que las credenciales de base de datos deberían ser algo similar a lo siguiente:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password

Importante, para que el envío de correos funcione sin procesos en background, define lo siguiente:

QUEUE_CONNECTION=sync

En entornos de producción, ajusta la siguiente variable del .env para decir qué dominios utilizados en los correos electrónicos podrán acceder al panel admin, más información.

[email protected]

Cambia yourdomain.com por el dominio que deba tener acceso al panel.

Lanzar proyecto con Sail

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v $(pwd):/var/www/html \
    -w /var/www/html \
    laravelsail/php83-composer:latest \
    composer install --ignore-platform-reqs

sail build
sail up -d
sail artisan key:generate
sail artisan migrate:fresh --seed

Ya puedes visitar los paneles /admin y /tasker para administrar e imputar.

¡Gracias por tu interés en nuestro proyecto! 😊

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Formulario de contacto

Copyright 2024 © Todos los derechos reservados.

Contacto