Giter Site home page Giter Site logo

dds's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

micolucci

dds's Issues

Cosas que dijo Ale/Matías que cambiemos

  • Hacer nuevas clases de exception
  • En QueMePongo se debería cambiar inline x constantes
  • Utilizar patrón adapter
  • Analizar caso que fallen todas las APIS de clima

Cosas a pulir para la entrega 1

  1. Repeticion de logica en el metodo "sugerir" y "sugerenciaConTodosLosGuardarropas"
  2. Efectuar validaciones en el PrendaBuildDirector (si corremos "mainDeclaracionPrenda" podemos ver que en "pantalon" nos tira una excepcion porque los elementos del constructor no son correctos, en cambio si inicializamos "pantalon2" no nos tira excepcion alguna, el problema es que los constructores son iguales )
  3. Elaborar diagrama de clases //hecho el 28/5

Merge de DDS_Nico a master

Cambios:

  • A clase usuario se le agrega patron state TipoDeCuenta
  • Se agrega la dependencia code.gson al pom.xml y se le agrega el esquema
  • Se agrega el adaptador y una lista de usuarios a la clase QueMePongo
  • Se agregan el paquete API y ow.entidades de DDS_Nico
  • Se implemente el patrón adapter en ClimaAdapter, agregando la posibilidad de cambiar el codigoCiudad antes de preguntar la Temperatura
  • Se agregan los metodos: sugerir, sugerirTodasLasCombinaciones, sugerirUnaCantidadDeVeces y getRandomList a la clase QueMePongo comentando la vieja implementación
  • Se agrega la clase PrendaNivel
  • Se agregan los cambios hechos por Nico en PrendaBuildDirector
  • Se refactoriza el constructor de la clase Prenda
  • "nivel" se convirtió en un atributo de TipoDePrenda, como habíamos hablado antes de la Entrega2, de esa manera, todas las remeras serán nivel1
  • El método setTipoDePrenda en PrendaBuilder ahora tiene como parámetro el nivel
  • Se modifica prendaBuildDirector para que coincida
    Cambios de Guardarropa:
  • Se cambian los hashsets por listas y se agregan las listas x niveles
  • Como había muchos métodos para organizar la ropa en lista, cree una clase OrganizarDeGuardarropa que hace lo mismo pero así guardarropa queda más limpio
  • Se corrigió validarCreacionPrenda() para que Valide Material. Se agrega test probando esto.
  • validarCreacionPrenda() se modifica y ahora no devuelve nada, pero saltará una excepción si algo rompe, xq ocurría que se intentaba crear una prenda, validaciones no te permitía pero tampoco te decia nada, entonces se intentaba usar esa prenda y el programa apuntaba a basura.
  • Se importaron los main de DDS_Nico
  • La clase mainDeclaracionPrenda se cambia el nombre a mainCreacionUsuariosGuardarropasPrendas

Nuevos problemas 😥
Todo los tests dan bien, excepto agregoUnaPrendaYlaCantidadDePrendasEsCorrecta:
Osea, si un guardarropa solo tiene una remeraBlanca y se le agrega la misma, cantidadDePrendas() nos dirá que tenemos 2 remeras

Entrega 3

    • Creación y manejo de guardarropas compartidos.
    • Eventos repetitivos
  1. Notificar al usuario al menos por dos medios (Email, SMS, WhatsApp):
    • Cuando estén listas las sugerencias de un evento que esté por ocurrir.
    • Si ocurre una alerta meteorológica y es recomendable que cambie la ropa
      elegida.
    • Una vez aceptada la sugerencia puede ser calificada en cuanto a las sensibilidades
      a la temperatura del usuario. Estas calificaciones afectarán a las sugerencias futuras.
    • Opcional: Poder distinguir entre un evento formal y un evento informal y poder realizar la sugerencia de los atuendos teniendo en cuenta este nuevo factor.
  2. Opcional: Adicionar los factores climáticos: lluvia, viento y sol.
    6.1 - Lluvia: Determina si usa un paraguas o un abrigo impermeable.
    6.2 - Viento: Determina si es apropiado usar gorros y polleras.
    6.3 - Sol: Determina si es necesario usar anteojos y gorro de sol.

Cosas que quedaron para hacer de Entrega4

APIs del clima:

  • 1. Si una API de clima falla, cambiar a otra. Si las dos fallan, informar x excepcion
  • 2. ClimaAdapter debe poder responder a la pregunta: qué clima hará en 1 a n días (n limitado x la API)
  • 3. Cuando un usuario pida una sugerencia, se hará en función de la función implementada en 2. (si faltan más días que lo soportado por la API nos dirá que no se puede generar sugerencias)
  • 4. En base a 2. de alguna manera se deberá planificar que una vez aceptada una sugerencia se vaya chequeando el clima para ver cambios grosos de temp y preguntarle al usuario si quiere cambiar su sugerencia

*SugenciaPara3.: se podría hacer una funcion que sea obtenerClimaParaFecha(codigoCiudad, fecha) usando fecha como un int y usar la función ya implementada obtenerClima(codigo)

*SugerenciaPara4. : command podría contar con una variables tipo double, cuando se acepte una sugerencia y ponele que falten 2 días para el evento, se guarda el valor del clima para esa fecha, al día siguiente, se programa que vuelva a preguntar el clima, analiza si hay una diferencia mayor a ponele 5º, en ese caso, notifica al usuario y le sugiere volver a pedir una sugerencia

Guardarropas compartidos:
(Ahora mismo las prendas poseen una lista de días (listaDeFechasReservadas) en los cuales están reservadas (cuando un usuario acepta una sugerencia se agrega y se elimina solo al cancelar un evento).

  • 5. Se debería eliminar la fecha también al cambiar la sugerencia del evento
  • 6. Al sugerir una combinación de prendas, a GeneradorDeSugerencias se le debería pasar la fecha del evento y no debería elegir una prenda que tenga esa fecha en listaDeFechasReservadas

Persistencia:

  • 7. Usuarios
  • 8. Eventos
  • 9. Guardarropas
  • 10. Las prendas con su tipo y categoría
  • 11. Historial de sugerencias aceptadas
  • 12. Preferencias

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.