{"id":22273557,"url":"https://github.com/dfleta/galley-grub","last_synced_at":"2025-10-26T22:36:40.793Z","repository":{"id":94648198,"uuid":"459126334","full_name":"dfleta/galley-grub","owner":"dfleta","description":"Desing pattern exercise: flyweight pattern and chain of responsability","archived":false,"fork":false,"pushed_at":"2022-03-22T19:38:59.000Z","size":2809,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T16:51:36.873Z","etag":null,"topics":["chain-of-responsibility-pattern","desing-patterns","flyweight-pattern","gof-patterns","java","uml-class-diagram"],"latest_commit_sha":null,"homepage":"","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":"2022-02-14T11:01:49.000Z","updated_at":"2024-04-09T11:05:45.000Z","dependencies_parsed_at":"2023-05-05T12:02:29.838Z","dependency_job_id":null,"html_url":"https://github.com/dfleta/galley-grub","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dfleta/galley-grub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fgalley-grub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fgalley-grub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fgalley-grub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fgalley-grub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfleta","download_url":"https://codeload.github.com/dfleta/galley-grub/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fgalley-grub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281185443,"owners_count":26457746,"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","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["chain-of-responsibility-pattern","desing-patterns","flyweight-pattern","gof-patterns","java","uml-class-diagram"],"created_at":"2024-12-03T13:13:42.985Z","updated_at":"2025-10-26T22:36:40.788Z","avatar_url":"https://github.com/dfleta.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"GALLEY GRUB\n===========\n\nBob Esponja trabaja como cocinero en el Krusty Krab, restaurante famoso por su hamburguesa de autor Krabby Patty.\n\nEl restaurante tiene un menu llamado Galley Grub que puedes leer aquí:\n\nhttps://spongebob.fandom.com/wiki/Galley_Grub\n\n![Interfaz de usuario](./doc/Mermaid_Man_and_Barnacle_Boy_V.png \"Galley Grub\")\n\nLas comandas son anotadas a mano por Squidward Tentacles.\n\nEl propierario Eugene H. Krabs -un agarrao- en vez de adquirir un TPV ha decidido contratar a un estudiante de Dual para que construir un software que calcular el importe total del pedido e imprimir el recibo.\n  \nIntenta hacer como que programas si no quieres terminar en la cocina ayudando a Bob a preparar Krusty Burguers.\n\nImplementa las historias de usuario con la lógica descrita en el `main` de la clase principal `App.java`. \n\nSi tienes dudas, puedes observar las historias de usuario _live_ en el capítulo _Pickles_ aquí:\n\nhttps://www.youtube.com/watch?v=VlxSEEIwwNY\u0026list=PL_181YA7nAlfR_0ro3l6Dh7ReB7AB7Mon\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\"](./doc/salida_CLI/CLI_01.png \"sneaker info ASCII CLI\")\n\n![\"Historias de usuario\"](./doc/salida_CLI/CLI_02.png \"all bids and asks 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\"](./doc/diagrama_clases_UML.png \"Diagrama de clases UML\")\n\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 `App.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 y que se propocionen**. 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, una vez publicado el repo en github, 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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Fgalley-grub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfleta%2Fgalley-grub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Fgalley-grub/lists"}