urielman / TrabajoTarjeta2018

0 stars 25 forks source link

Build Status Coverage Status Scrutinizer Code Quality

Integrantes: Uriel Man y Julian Medina.

Trabajo Tarjeta: Versión 2018

El siguiente trabajo es un enunciado iterativo. Todas las semanas nuevos requerimientos serán agregados y/o modificados para ilustrar la dinámica de desarrollo de software.

Iteracion 1. (31 de Julio al 14 de Agosto)

Escribir un programa con programación orientada a objetos que permita ilustrar el funcionamiento del transporte urbano de pasajeros de la ciudad de rosario.

Las clases que interactuan en la simulación son: Colectivo, Tarjeta y Boleto.

Cuando un usuario viaja en colectivo con una tarjeta, obtiene un boleto como resultado de la operación $coletivo->pagarCon($tarjeta);

Para esta iteracion se consideran los siguientes supuestos:

Se pide:

Para instalar el codigo inicial clonar el repositorio y luego ejecutar:

composer install

En caso de no contar con composer instalado, descargarlo desde: https://getcomposer.org/

Para correr los tests:

./vendor/bin/phpunit

Si se agregan nuevas clases al código tal vez sea necesario correr:

composer dump-autoload

Iteracion 2. (14 de Agosto al 28 de Agosto)

Para esta iteración hay 3 tareas principales. Crear un issue en github copiando la descripción de cada tarea y completar cada uno en una rama diferente. Éstas serán mergeadas al validar, luego de una revisión cruzada (de ambos integrantes del grupo), que todo el código tiene sentido y está correctamente implementado.

No es necesario que todo el código para un issue esté funcionando al 100% antes de mergiarlo, pueden crear pull requests que solucionen algún item particular del problema para avanzar más rápido.

Además de las tareas planteadas, cada grupo tiene tareas pendientes de la iteración anterior que debe finalizar antes de comenzar con la iteración 2. Cuando la iteración 1 este completada, crear un tag llamado iteracion1: Y subirlo a github

IMPORTANTE: Como punto de control, alguna de estas dos funcionalidades: "Viaje plus" o "Franquicia de Boleto" tiene que estar lista para revisar a mitad de la iteración. (21 de Agosto).

Descuento de saldos.

Viaje plus

Franquicia de Boleto.

Al igual que la iteración anterior, se pide mantener la mecánica de trabajo para ir añadiendo las nuevas funcionalidades y/o modificaciones (issue, una rama específica para cada tarea y finalmente el mergeo cuando todo funcione correctamente..., etc.)

En esta iteración daremos una introducción a la manipulación de fechas y horarios. Éstos serán necesarios en esta oportunidad para realizar las modificaciones pedidas. Consultar este video para conocer más sobre el manejo de fechas y horas en PHP: https://www.youtube.com/watch?v=dVRl1kqxdwY

Más datos sobre el boleto.

Limitación en el pago de medio boletos

Para evitar el uso de una tarjeta de tipo medio boleto en más de una persona en el mismo viaje se pide que:

Iteracion 4 (12 de Septiembre al 25 de Septiembre)

Cobertura de código.

Trasbordos

Cuando se realiza un trasbordo, el 2º viaje se cancela a un 33% de la tarifa vigente:

Se pueden abonar solamente con las tarjetas y se pueden realizar todos los días del año durante las 24 hs, exceptuando la misma línea y bandera, teniendo en cuenta tiempos máximos para realizarlos por franja horaria:

Sólo se permite 1 trasbordo por tarjeta en cada viaje.

Acercando la tarjeta se cancela el viaje emitiendo un boleto impreso con la palabra "trasbordo". No se efectiviza el trasbordo con la cancelación del pasaje plus.

Iteracion 5