{"id":17947593,"url":"https://github.com/tiagofnb/gorgeoussandwich","last_synced_at":"2026-05-06T13:03:11.088Z","repository":{"id":258333120,"uuid":"873757691","full_name":"TiagoFNB/GorgeousSandwich","owner":"TiagoFNB","description":"Project for ARQSOFT subject of the MSc in Software Engineering course at ISEP","archived":false,"fork":false,"pushed_at":"2024-10-17T00:41:15.000Z","size":3703,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-29T08:05:52.126Z","etag":null,"topics":["csharp","dotnet","java","microservices","monolith","monolithic-application-migration","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TiagoFNB.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-10-16T17:04:35.000Z","updated_at":"2024-10-17T00:41:19.000Z","dependencies_parsed_at":"2024-10-18T14:08:26.262Z","dependency_job_id":null,"html_url":"https://github.com/TiagoFNB/GorgeousSandwich","commit_stats":null,"previous_names":["tiagofnb/gorgeoussandwich"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TiagoFNB%2FGorgeousSandwich","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TiagoFNB%2FGorgeousSandwich/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TiagoFNB%2FGorgeousSandwich/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TiagoFNB%2FGorgeousSandwich/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TiagoFNB","download_url":"https://codeload.github.com/TiagoFNB/GorgeousSandwich/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247024152,"owners_count":20870940,"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":["csharp","dotnet","java","microservices","monolith","monolithic-application-migration","spring-boot"],"created_at":"2024-10-29T08:05:54.174Z","updated_at":"2026-05-06T13:03:06.054Z","avatar_url":"https://github.com/TiagoFNB.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GorgeousSandwich\nProject for ARQSOFT subject of the MSc in Software Engineering course at ISEP.\n\nFor academic purposes, the project consisted in two parts.\n\nPart 1- Implement as monolith Springboot solution.\n\nPart 2- Migrate the monolith solution to a microservices based one, that use Java (Springboot) and C# (.NET) for the microservices.\n\nEach part documentation is avalaible in their respective folders.\n\n## Project Context\n\nGorgeousSandwich is a (fictional) sandwich shop brand that has multiple stores and needed a software that would allow them to manage different areas of their business.\n\nSome of the focus areas of the software would be:\n\n1. **Sandwich management**: Each sandwich has a designation, a selling price, and\nmultiple descriptions, although one per authorized language. The language is\nto be detected by the application. The allowed languages must be changed in\na few seconds, but without impacting what was previously accepted. However,\ndescriptions should never be removed.\n2. **Shop management**: A shop has a designation, an address, a person in charge,\nand opening hours that may differ depending on the days of the week. The person\nin charge has a name and an email.\n3. **Order management**: A client can register sandwiches and their quantities for\ndelivery on a specifc day and shop. The total price is informed by the prototype.\nPlease note that a sandwich can never be sold below zero, despite the promotions\napplied.\n4. **Customer management**: A customer has a name, a tax identifcation number,\nan address, an email and authentication data.\n5. **Promotions management** : Global and local promotions can be specifed. While\nglobal promotions apply to all stores, local promotion does not. Both types specify\npercentages that apply as a discount to the unit price of specific products and have\na specified period for their application.\nPromotions are reflected in the price according to different possibilities: only the\nmost favourable or local and global promotions are applied cumulatively. Switching from one possibility to another should be possible within seconds, without affecting what is fnished.\n\nHowever, it should be noted that, for the prototype, only insertions and listings are\nintended, with the specifed modifcation possibilities.\n\n**NOTE**: Not all features described are implemented, and in part 1, the Order Management was not addressed.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiagofnb%2Fgorgeoussandwich","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiagofnb%2Fgorgeoussandwich","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiagofnb%2Fgorgeoussandwich/lists"}