{"id":22273568,"url":"https://github.com/dfleta/filter-criteria-pattern","last_synced_at":"2025-03-25T16:42:02.632Z","repository":{"id":94648157,"uuid":"343535204","full_name":"dfleta/filter-criteria-pattern","owner":"dfleta","description":"Filter criteria pattern GoF to solve how the users of StockX list the asks and bids of a sneaker. ","archived":false,"fork":false,"pushed_at":"2025-03-19T13:00:30.000Z","size":784,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-19T13:41:46.417Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfleta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-01T19:38:32.000Z","updated_at":"2025-03-19T13:00:33.000Z","dependencies_parsed_at":"2023-06-26T02:09:49.141Z","dependency_job_id":null,"html_url":"https://github.com/dfleta/filter-criteria-pattern","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Ffilter-criteria-pattern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Ffilter-criteria-pattern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Ffilter-criteria-pattern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Ffilter-criteria-pattern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfleta","download_url":"https://codeload.github.com/dfleta/filter-criteria-pattern/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245501844,"owners_count":20625860,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-03T13:13:46.311Z","updated_at":"2025-03-25T16:42:02.626Z","avatar_url":"https://github.com/dfleta.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"StockX ASCII\n============\n\nStockX nació en Detroit, y allí siguen haciendo las cosas de manera tradicional, robustas y con alma, en ASCII en la CLI.\n\nImplementa las historias de usuario de las GUI proporcionadas en la carpeta [historias de usuaria GUI](https://github.com/dfleta/stockx-ascii/tree/master/historias_de_usuaria_GUI), pero en ASCII.\n\n![Interfaz de usuario](./historias_de_usuaria_GUI/US_01.jpg \"GUI Stockx\")\n\nLa lógica tras cada historia de usuario está descrita en el `main` de la clase principal `Stockx.java`. \n\nSi tienes dudas, puedes interactuar con la webapp based in London que sí que tiene (G)UI\n[www.stockx.com](https://stockx.com/air-jordan-1-retro-high-dark-mocha)\n\n\n\n ## Salida de la aplicación\n\nIntenta que la salida del programa por CLI sea lo más parecida posible a las imágenes que se proporcionan. Cada una de ellas se corresponde con una de las historias de usuario que se detallan en los epígrafes siguientes.\n\n![\"Historias de usuario\"](./salida_CLI/ui_01.png \"sneaker info ASCII CLI\")\n\n![\"Historias de usuario\"](./salida_CLI/ui_02.png \"all bids and asks CLI\")\n\n![\"Historias de usuario\"](./salida_CLI/ui_03.png \"sneaker max ask info CLI\")\n\n![\"Historias de usuario\"](./salida_CLI/ui_04.png \"sneaker min bid info CLI\")\n\n![\"Historias de usuario\"](./salida_CLI/ui_05.png \"All sales CLI\")\n\n![\"Historias de usuario\"](./salida_CLI/ui_06.png \"sneaker info last sale CLI\")\n\n![\"Historias de usuario\"](./salida_CLI/ui_07.png \"All sales, bids, min bid, max ask size 9.5 CLI\")\n\n![\"Historias de usuario\"](./salida_CLI/ui_08.png \"sneaker info size 9.5 CLI\")\n\n\n## Diagrama de clases UML / Arquitectura de la app.\n\nSigue el diagrama de clase UML proporcionado para construir la aplicación.\nSi añades algún componente, dibújalo a mano alzada sobre el diagrama.\n\n![\"Diagrama de clases UML\"](./diagrama_clases_UML.png)\n\n\n## Historias de usuario /casos de uso\n\nLas historias de usuario están enunciadas en el script principal `Stockx.java`\n\n1. El usuario/a solicita la info del `sneaker` en todas las tallas (ultima `sale`, máxima `bid`, mínima `ask`, `name` y estilo o `style`)\n\n![\"Historias de usuario\"](./historias_de_usuaria_GUI/US_01.jpg \"printar sneaker\")\n\n2. El usuario/a lista todas las bids de una sneaker para conocer cuál es la `minima bid`.\n\n![\"Historias de usuario\"](./historias_de_usuaria_GUI/US_02.jpg \"sneaker bids\")\n\n3. El usuario/a lista todas las asks de una sneaker para conocer cuál es la `maxima ask`.\n\n![\"Historias de usuario\"](./historias_de_usuaria_GUI/US_03.jpg \"sneaker asks\")\n\n4. El usuario/a lista todas las `sales` de una sneaker para averiguar cuál es la última venta o `last sale`.\n\n![\"Historias de usuario\"](./historias_de_usuaria_GUI/US_04.jpg \"sneaker sales\")\n\n\n5. El usuario/a solicita la info del sneaker en todas las tallas (ultima venta, máxima bid, mínima ask, nombre y estilo) = Historia de usuario 1.\n\n6. El usuario/a lista la info del sneaker en una determinada talla o `size`.\n\n![\"Historias de usuario\"](./historias_de_usuaria_GUI/US_05.jpg \"sneaker info size 9.5\")\n\n7. El usuario/a lista todas las sales de una sneaker en una determinada talla o `size` para averiguar cuál es la última venta.\n\n![\"Historias de usuario\"](./historias_de_usuaria_GUI/US_06.jpg \"sneaker sales\")\n\n8. El usuario/a lista todas las bids de una sneaker en una determinada `size` para conocer cuál es la mínima bid.\n\n![\"Historias de usuario\"](./historias_de_usuaria_GUI/US_07.jpg \"sneaker bids\")\n\n9. El usuario/a lista todas las asks de una sneaker en un determinada `size` para conocer cuál es la máxima ask.\n\n![\"Historias de usuario\"](./historias_de_usuaria_GUI/US_08.jpg \"sneaker asks\")\n\n## Prepara el proyecto\n\n 1. Crea un nuevo repo PRIVADO en tu cuenta en **Github** y compártelo con el usuario dfleta.\n 2. Crea un nuevo directorio en tu equipo y **clona el repositorio** de Github.\n 3. Abre VSCode /Eclipse /Netbeans /IntelIJ y **establece como workspace** el directorio que has clonado.\n 4. Crea un proyecto **Gradle** o **Maven**.\n 5. Pon el proyecto en seguimiento en **Git** y configura `.gitignore`.\n 6. Copia y pega la función principal `Stockx.java`. Utilízala como guía en el proceso TDD. **No puedes modificar su código**, pero sí puedes comentar aquellas partes que aun no hayas implementado.\n 7. Completa las clases que aquí se indican **implementando los casos test que necesites**. Practica **TDD**.\n 8. **Realiza `commits` como mínimo cada vez que termines una historia de usuario**. Sin commit periódicos, no corrijo el examen.\n\n\n ## Cómo entregar el código\n\n 1. Crea un repo PRIVADO en tu GitHub y compártelo con el usuario dfleta.\n 2. **Realiza commits periódicamente** mientras avanzas en el desarrollo de la aplicación. Sin commit periódicos, no corrijo el examen.\n 3. Realiza un `push` al repo remoto en GitHub **SOLO cuando hayas terminado el proyecto**.\n 3. Si quieres, si vas a dormir mejor, desde Eclipse /Netbeans /IntelIJ exporta el proyecto a un fichero. En VSCode, comprime en un ZIP la carpeta del proyecto. Envíame el archivo ZIP por correo electrónico. **No se admiten ficheros .rar**.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Ffilter-criteria-pattern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfleta%2Ffilter-criteria-pattern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Ffilter-criteria-pattern/lists"}