馃捇聽Planteamiento
- Aplicaci贸n en Scala
- Entrada:
- CSV de progreso de cada usuario en cada curso (lo descargamos desde la plataforma, es acumulado desde el inicio de la historia de Codely Pro)
- CSV de descuentos (Google Spreadsheet interna con los datos de cu谩nto duran y qu茅 importe mensual representan)
- CSV del mes anterior con el progreso de cada usuario hasta entonces (煤til para restarlo del CSV de progreso actual y as铆 poder tener el consumo s贸lo del mes en curso)
- Salida:
- CSV para poder importar a Google Spreadsheet, agregar por profesor, determinar la suma del importe a pagar, y proceder con el pago
- Flujo ejecuci贸n:
sbt incomeDist
UserIncomeDistributorCliController
(lee CSVs de entrada)
UserIncomeDistributor
(calcula distribuci贸n para profesores)
- CSV de salida
- Estructura contenido CSV entrada:
- Estructura contenido CSV salida:
鉁吢燙asu铆sticas contempladas (test cases existentes)
- distributing income without taking into account previous months nor discounts
- distributing income taking into account previous months
- distributing income taking into account discounts
- distributing income taking into account teacher commission
馃 Problemas / Dolores
- Cambios en el CSV de origen rompen la ejecuci贸n del script y se dan de forma frecuente
- Falta de seguimiento o visibilidad hasta que se ejecuta el script (el profesor no puede saber c贸mo est谩 yendo el mes en curso)
- Hay que editar el script cada vez que se a帽ade un curso o profesor a nivel de c贸digo
- Proceso laborioso a nivel manual donde ya no queda margen de automatizaci贸n sin requerir una alta inversi贸n de tiempo
- Baja escalabilidad a la hora de tratar los datos de salida en Google Spreadsheets por el volumen que ya tenemos
- Mucho margen de error manual por depender de documentos de descuento manuales