Sobre este proyecto
it-programming / mobile-development
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 Sí
Procesador de pago No
Plazo de Entrega: No definido
Habilidades necesarias