{"id":22366694,"url":"https://github.com/miguelprogrammer/neighborfood-payment","last_synced_at":"2025-03-26T15:50:44.871Z","repository":{"id":264997739,"uuid":"889950557","full_name":"MiguelProgrammer/neighborfood-payment","owner":"MiguelProgrammer","description":"Payment module, rest application, supports the neighborfood application which contains most of the use cases, the purpose of this micro-service is to practice refactoring, separating some services from an existing rest application","archived":false,"fork":false,"pushed_at":"2024-11-30T17:43:03.000Z","size":8943,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T17:07:58.583Z","etag":null,"topics":["exagonal-architecture","refactoring","rest-api","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"HTML","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-11-17T16:46:27.000Z","updated_at":"2024-11-30T17:43:06.000Z","dependencies_parsed_at":"2024-11-27T05:35:36.804Z","dependency_job_id":null,"html_url":"https://github.com/MiguelProgrammer/neighborfood-payment","commit_stats":null,"previous_names":["miguelprogrammer/neighborfood-payment"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelProgrammer%2Fneighborfood-payment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelProgrammer%2Fneighborfood-payment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelProgrammer%2Fneighborfood-payment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelProgrammer%2Fneighborfood-payment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MiguelProgrammer","download_url":"https://codeload.github.com/MiguelProgrammer/neighborfood-payment/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245689327,"owners_count":20656414,"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":["exagonal-architecture","refactoring","rest-api","spring-boot"],"created_at":"2024-12-04T18:15:11.322Z","updated_at":"2025-03-26T15:50:44.852Z","avatar_url":"https://github.com/MiguelProgrammer.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2\u003eModule Payment of Neighborfood Application - Clean Architecture\u003c/h2\u003e\n\n# Allure Report dashboard\n* \u003cimg src=\"https://i.imgur.com/Tjj112t.png\"\u003e\n\n# Cucumber\n* \u003cimg src=\"https://i.imgur.com/wjaUkJq.png\"\u003e\n* \u003cimg src=\"https://i.imgur.com/mjtElYc.png\"\u003e\n\n# jUnit \u0026 Mockito\n* \u003cimg src=\"https://i.imgur.com/0ZVGptE.png\"\u003e\n* \u003cimg src=\"https://i.imgur.com/T8PrlVV.png\"\u003e\n\n# Jacoco Report\n* \u003cimg src=\"https://i.imgur.com/gFB7Xqc.png\"\u003e \n\n# Profiles test unit and integration\n```\nmvn -P integration-test\n```\n\n# Profiles test system\n```\nmvn -P system-test\n```\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* 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\u003chr\u003e\nHappy flow:\n\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\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-payment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiguelprogrammer%2Fneighborfood-payment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelprogrammer%2Fneighborfood-payment/lists"}