{"id":21082378,"url":"https://github.com/miguelprogrammer/neighborfood-v2","last_synced_at":"2025-07-06T22:36:47.456Z","repository":{"id":248276760,"uuid":"828255448","full_name":"MiguelProgrammer/neighborfood-v2","owner":"MiguelProgrammer","description":"Adaptation of the Neighborhood project with hexagonal architecture","archived":false,"fork":false,"pushed_at":"2024-11-15T19:40:57.000Z","size":58961,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T23:46:25.759Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MiguelProgrammer.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-07-13T15:23:31.000Z","updated_at":"2024-09-29T18:33:06.000Z","dependencies_parsed_at":"2025-01-20T23:41:05.118Z","dependency_job_id":"05036508-d800-4181-8c02-98c73d181678","html_url":"https://github.com/MiguelProgrammer/neighborfood-v2","commit_stats":null,"previous_names":["miguelprogrammer/neighborfood-v2"],"tags_count":0,"template":false,"template_full_name":"MiguelProgrammer/neighborfood","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelProgrammer%2Fneighborfood-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelProgrammer%2Fneighborfood-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelProgrammer%2Fneighborfood-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelProgrammer%2Fneighborfood-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MiguelProgrammer","download_url":"https://codeload.github.com/MiguelProgrammer/neighborfood-v2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243526853,"owners_count":20305112,"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-11-19T20:13:53.545Z","updated_at":"2025-03-14T04:43:25.120Z","avatar_url":"https://github.com/MiguelProgrammer.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2\u003e Clean Architecture\u003c/h2\u003e\n\n\u003ch3\u003eProject aims to refactor the architecture used in the project \u003ca href=\"https://github.com/MiguelProgrammer/neighborfood\"\u003eNeighborfood - Ports and Adapters\u003c/h3\u003e\u003chr\u003e\n\n\u003ch3\u003eNeighborfood-app\u003c/h3\u003e  \n\n\n* To upload the application, use the \u003cb\u003edocker-compose up\u003c/b\u003e or \u003cb\u003edocker-compose up --build\u003c/b\u003e command, use a client for the request, the results are also presented via the console to fill in the response.\u003chr\u003e\n\n\u003cimg src=\"https://miro.medium.com/v2/resize:fit:400/0*iU9Ks05_GTtGh6zV.jpg\"\u003e\u003chr\u003e\n\nThrough the monolith, I will create an application similar to Ifood.\n\nThis application is being developed to prove theories, software development with DDD, every flow developed here is intended only to put into technical practices of domais driven design, I will use docker to upload the application to the PostgreSql database.\n\nI will refactor the previous architecture to a clean architecture.\n\nClean architecture also says a lot about not dirtying or violating the layers. This architecture is based on using the outermost layer to the innermost ones. To do this, the use of appropriate layers must be followed in order to not harm the proposal brought by the adopted model.\n\n* Doc DDD miro: \u003ca href=\"https://miro.com/app/board/uXjVKUqbA08=/?share_link_id=950297951149\"\u003emiro\u003c/a\u003e\n* Json doc to postman requests: \u003ca href=\"https://drive.google.com/file/d/1wmFFVwIq0Uxm53vhaXbE4U04BwZxrmTy/view?usp=sharing\"\u003erequest postman\u003c/a\u003e\n* Api-docs Swagger OpenPI \u003ca href=\"http://localhost:8090/swagger-ui/index.html\"\u003eswagger-ui\u003c/a\u003e -\u003e Access documentation only by running the application or by inserting the contents of the src/main/resources/api/resource.yml file on the swagger web editor website\n* Video YouTube \u003ca href=\"https://www.youtube.com/watch?v=GqULSTVhM8Y\"\u003eApplication Neighborfood demonstration video\u003c/a\u003e\n\n\u003chr\u003e\n\n\u003ctable align=\"center\" border=\"0\"\u003e\n    \u003cp\u003eDoc uml diagrams\u003c/p\u003e\n\u003ctr\u003e\n    \u003ctd colspan=\"4\"\u003e\n        \u003cimg src=\"https://i.imgur.com/XSaryWW.png\" width=800\u003e\n    \u003c/td\u003e\n    \u003ctd colspan=\"4\"\u003e\n        \u003cimg src=\"https://i.imgur.com/HleA8P2.png\" width=800\u003e\n    \u003c/td\u003e\n    \u003ctd colspan=\"4\"\u003e\n        \u003cimg src=\"https://i.imgur.com/XSaryWW.png\" width=800\u003e\n    \u003c/td\u003e\n    \u003ctd colspan=\"4\"\u003e\n        \u003cimg src=\"https://i.imgur.com/ehEqd1n.png\" width=800\u003e\n    \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003chr\u003e\n\n* To execute the project and orchestrate containers, install minikube, the platform used in development and testing.\n* Run the minikube start command to access the minikube dashboard, where you can view the containers in a more simplified way.\n* With docker-desktop installed, enable the kubernetes engine in docker settings.\n* Using the command line via cmd, navigate to the k8s project directory and run the commands kubectl apply -f filename so that applications can upload containers, pods and services.\n* Using the command line, cmd, run the command minikube service app-neighborfood-service, this way you will have access to the api document, swagger-openapi\n\u003cb\u003eOrchestrating containers with minikube, spinning up two instances\u003c/b\u003e\n\u003cimg src=\"https://i.imgur.com/mBdqY67.png\" width=800\u003e\n\u003chr\u003e\n\nNEIGHBORFOOD MENU\n\n* 1 - Register as administrator\n     * 1.1 - If a user accesses the system and uses areas such as listing the menu or placing an order, the response will be empty and a\n       notification will be sent to admin\n     * 1.2 - The administrator will be able to list the orders entered regardless of their status, however, only orders with a finalized status will be able to check the waiting time.\n* 2 - Register items in stock\n     * 2.1 - The administrator can register one item per category per batch\n     * 2.2 - When the customer places an order, the item selected in the order is subtracted from stock\n* 3 - Register as a Customer\n     * 3.1 - You can register using your name, email and CPF, if you do not want to, you will be identified by the order number\n     * 3.2 – When registering and already having a login, the system will return your current username\n* 4 - Log in as a customer\n* 5 – List the options menu\n* 6 - Place an order\n     * 6.1 - If a product is missing, the system will notify the customer and the administrative area for replacement\n  * 6.2 - The customer can make changes to items, updating their order\n* 7 - Make payment\n    * 7.1 - There is a Mercado Pago webhook for us to test the payment, the integration of this service should be well used, it is where we will prove a way to plug the service without                 harming our layers.\n* 8 - Collect your order\n* 9 - Receive treats\n     * 9.1 - You will receive discount alerts on upcoming orders\n\n\u003chr\u003e\nHappy flow:\n\n* 1 - Register as an administrator\n* 2 - Register products\n* 3 - Register as a customer\n* 4 - Place an order\n* 5 - Update your order if you wish\n* 6 - Make payment\n* 7 - Check the order status\n  * 7.1 - When you check the order status after payment, the system will move to the next statuses until the order is finalized\n* 8 - Send gifts to the customer\n* 9 - List the orders containing the average waiting time\n* 10 - You can list the orders at any time, regardless of their status.\n\u003chr\u003e\nJava documentation, generated by Maven, contains detailed information about the technologies used, versions and much more, It can be accessed through the target/site.\n\u003cimg src=\"https://i.imgur.com/5hpRaRG.png\" width=900\u003e\n\u003c/hr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelprogrammer%2Fneighborfood-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiguelprogrammer%2Fneighborfood-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelprogrammer%2Fneighborfood-v2/lists"}