PlannerOP es una aplicación móvil desarrollada en Flutter para optimizar la gestión de operaciones portuarias. Permite a los supervisores asignar tareas, monitorear trabajadores, gestionar zonas y motonaves, y generar reportes detallados sobre las operaciones diarias.
- Gestión de Asignaciones: Creación y seguimiento de tareas operativas
- Administración de Personal: Control de trabajadores y horas laboradas
- Reportes Avanzados: Generación de informes con filtros por zona, motonave y estado
- Exportación de Datos: Informes en formato Excel fácilmente compartibles
- Visualización Gráfica: Dashboard con estadísticas y gráficos de rendimiento
- Sistema de Notificaciones: Alertas sobre tareas pendientes y completadas
- Gestión de Motonaves: Seguimiento específico para operaciones en buques
- Flutter: Framework de desarrollo multiplataforma
- Provider: Gestión de estados
- Flutter Neumorphic: Componentes de interfaz con diseño neumórfico
- Excel: Generación de reportes tabulares
- Intl: Internacionalización y formateo de fechas
- Charts Flutter: Visualización de datos estadísticos
- Share Plus: Funcionalidad para compartir archivos
git clone https://github.com/DuvanBonilla/CargoPlannerApp.git
cd planneropflutter pub getflutter run- Flutter SDK 3.0.0 o superior
- Dart 2.17.0 o superior
- Android SDK 21+ o iOS 11+
- 4GB de RAM mínimo recomendado para desarrollo
- Navega a la pestaña "Asignaciones"
- Presiona el botón "+" para crear una nueva operación
- Completa los campos requeridos (área, zona, motonave, etc.)
- Asigna trabajadores desde el listado disponible
- Guarda la operación
- Accede a la sección "Reportes"
- Configura los filtros deseados (periodo, área, zona, motonave, estado)
- Visualiza los datos en formato gráfico o tabular
- Exporta los resultados a Excel cuando sea necesario
lib/
│ main.dart
│
├───components
├───core
│ └───model
│ area.dart
│ assignment.dart
│ client.dart
│ task.dart
│ user.dart
│ worker.dart
│
├───dto
│ ├───assignment
│ │ createAssigment.dart
│ │
│ ├───auth
│ │ signin.dart
│ │
│ ├───clients
│ │ fetchClients.dart
│ │
│ ├───taks
│ │ fetchTask.dart
│ │
│ └───workers
│ fetchWorkers.dart
│
├───pages
│ │ login.dart
│ │
│ ├───gestionHumana
│ └───supervisor
│ │ home.dart
│ │
│ └───tabs
│ asignaciones.dart
│ dashboard.dart
│ profile.dart
│ reports.dart
│ workers.dart
│ worker_filter.dart
│
├───services
│ │ workerService.dart
│ │
│ ├───areas
│ │ areas.dart
│ │
│ ├───assignments
│ │ assignment.dart
│ │
│ ├───auth
│ │ signin.dart
│ │
│ ├───clients
│ │ clients.dart
│ │
│ ├───task
│ │ task.dart
│ │
│ └───workers
│ workers.dart
│
├───store
│ areas.dart
│ assignments.dart
│ auth.dart
│ clients.dart
│ task.dart
│ user.dart
│ workers.dart
│
├───utils
│ assignments.dart
│ constants.dart
│ toast.dart
│ worker_utils.dart
│
└───widgets
│ cifras.dart
│ quickActions.dart
│ recentOps.dart
│
├───assingments
│ activeAssignments.dart
│ addAssignmentDialog.dart
│ assignmentDetails.dart
│ assignment_form.dart
│ date_time_fields.dart
│ dropdown_field.dart
│ editAssignmentForm.dart
│ emptyState.dart
│ historyAssignments.dart
│ pendingAssignments.dart
│ predefined_tasks.dart
│ selected_worker_list.dart
│ success_dialog.dart
│ workerCard.dart
│ workerSelection.dart
│ worker_selection_dialog.dart
│
├───reports
│ │ export_options.dart
│ │ report_data_table.dart
│ │ report_filter.dart
│ │ report_summary.dart
│ │
│ └───charts
│ area_chart.dart
│ service_trend_chart.dart
│ ship_personnel_chart.dart
│ worker_status_chart.dart
│ zone_distribution_chart.dart
│
└───workers
worker_actions_bar.dart
worker_add_dialog.dart
worker_assignments_section.dart
worker_code_badge.dart
worker_details_section.dart
worker_detail_dialog.dart
worker_edit_dialog.dart
worker_empty_state.dart
worker_incapacitation_dialog.dart
worker_list_item.dart
worker_retirement_dialog.dart
worker_stats.dart
- Haz un fork del proyecto
- Crea una rama para tu funcionalidad (
git checkout -b feature/amazing-feature) - Haz commit de tus cambios (
git commit -m 'Add some amazing feature') - Envía a la rama (
git push origin feature/amazing-feature) - Abre un Pull Request
Este proyecto está licenciado bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
- Lead Developer: KeniBeck
- Developer: GhostRiderDev
El proyecto utiliza diferentes variables de entorno para los ambientes de desarrollo, pruebas y producción. Para configurar estas variables:
- Crea un archivo
.enven la raíz del proyecto - Define las variables según el formato del archivo
.env.example
La aplicación está preparada para soporte multiidioma. Para añadir un nuevo idioma:
- Duplica los archivos de la carpeta
assets/i18n/es.json - Renombra la copia según el código del idioma (ej.
fr.json) - Traduce los valores manteniendo las claves
Desarrollado con ❤️ por Cargoban - KeniBeck & GhostRiderDev
Última actualización: Abril 2023



