Evaluando propuestas

App Producción Papelón: Reportes Diarios + Semanales Automatizados

Publicado el 07 Abril, 2025 en Programación y Tecnología

Sobre este proyecto

Abierto

Contexto:
Desarrollar una app en Flutter (prioritario) o Kotlin que:

    Registre producción diaria de panela (bultos/panelas sueltas).

    Envíe dos tipos de correos automáticos:

        Correo Diario: Al finalizar cada día (excepto domingos).

        Correo Semanal: Cada sábado, sumando lunes a sábado.

Requisitos Técnicos Detallados
1. Lógica de Negocio

    Base de Datos:
class Produccion {
  DateTime fecha; // Campo clave
  int bultos;
  int panelas;
  bool esDomingo; // Validar automáticamente


    Validaciones:

        Bloquear registro en domingos (mostrar mensaje: "Día no laborable").

        Autodetección de sábados para trigger semanal.

2. Sistema de Correos

    Diario (ejemplo):
    Asunto: Reporte Diario Papelón - [29/Jun/2024]
    Cuerpo:
Producción del día: 
- Bultos completos: 25 
- Panelas sueltas: 6 
- Total equivalente: 25 bultos + 6 panelas 

Semanal (sábados):
Asunto: Reporte Semanal Papelón - [24/Jun al 29/Jun]
Cuerpo:
resumen semanal (lunes-sábado): 
- total bultos: 150 (+5 bultos por panelas extras) 
- panelas sueltas finales: 3 
-------------------------- 
detalle por día: 
• lunes: 20 bultos + 10 panelas 
• martes: 22 bultos + 8 panelas 
... 
• Sábado: 28 bultos + 15 panelas 

Semanal (sábados):
Asunto: Reporte Semanal Papelón - [24/Jun al 29/Jun]
Cuerpo:

resumen semanal (lunes-sábado): 
- total bultos: 150 (+5 bultos por panelas extras) 
- panelas sueltas finales: 3 
-------------------------- 
detalle por día: 
• lunes: 20 bultos + 10 panelas 
• martes: 22 bultos + 8 panelas 
... 
• Sábado: 28 bultos + 15 panelas 

4. Automatización

    Diario:

        Ejecutar función checkDailyReport() al cerrar la app o mediante workmanager a las 7 PM.

    Semanal (sábados):

        Usar flutter_local_notifications a las 6 PM para confirmar envío.

5. Interfaz de Usuario

    Pestañas separadas:

        Registro Diario (formulario + lista de hoy).

        Historial Semanal (gráfico de barras con charts_flutter).

    Switch para activar/desactivar correos automáticos.

    Priorizar:

        Usar BLoC o Provider para gestión de estado.

        Implementar unit tests para cálculos de bultos/panelas.

    Seguridad:

        Ocultar credenciales de correo con Firebase Remote Config.

    Extras:

        Opción para exportar reportes en PDF (pdf package).

Ejemplo Visual

[INTERFAZ PRINCIPAL] 
├── Registro Diario (Input fields + Botón "Guardar") 
├── Pestaña "Semana" (Gráfico + Total acumulado) 
└── Botón "Configuración" (Ajustes de notificaciones/correo)

Contexto general del proyecto

App basica sencilla solo lo utilizara 2 personas, debe tener acceso ambas personas ya que en el dia salen diferentes puntos 1 punto de x cantidad de bultos en 2 horas y el dia finaliza 6 a 7 pm, pero el reporte diario debe ser enviado manualmente.

Categoría Programación y Tecnología
Subcategoría Programación de Apps. Android, iOS y otros
¿Cuál es el alcance del proyecto? Bug o cambio pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Plataformas requeridas Android
Necesito Crear una app
Tipo de app Utilidad - Aplicación de utilidad (flash, calculadora, etc.)
Necesita backend
Procesador de pago No

Plazo de Entrega: No definido

Habilidades necesarias