{"id":19390171,"url":"https://github.com/bpstelios10/clean-architecture-sample","last_synced_at":"2026-04-11T02:01:49.585Z","repository":{"id":171689554,"uuid":"640003933","full_name":"bpstelios10/clean-architecture-sample","owner":"bpstelios10","description":"Clean architecture example, implemented with spring web","archived":false,"fork":false,"pushed_at":"2023-06-26T13:41:34.000Z","size":5010,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-07T09:37:35.361Z","etag":null,"topics":["clean-architecture","docker","docker-compose","gradle","h2-database","java","junit5","lombok","mockito","postgres","spring-boot","spring-profiles"],"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/bpstelios10.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":"2023-05-12T18:30:51.000Z","updated_at":"2023-12-20T10:37:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"9da769db-1971-490d-8fbc-f087a47560c6","html_url":"https://github.com/bpstelios10/clean-architecture-sample","commit_stats":null,"previous_names":["bpstelios10/clean-architecture-sample"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpstelios10%2Fclean-architecture-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpstelios10%2Fclean-architecture-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpstelios10%2Fclean-architecture-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpstelios10%2Fclean-architecture-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bpstelios10","download_url":"https://codeload.github.com/bpstelios10/clean-architecture-sample/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240549430,"owners_count":19819137,"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":["clean-architecture","docker","docker-compose","gradle","h2-database","java","junit5","lombok","mockito","postgres","spring-boot","spring-profiles"],"created_at":"2024-11-10T10:19:16.589Z","updated_at":"2026-04-11T02:01:49.333Z","avatar_url":"https://github.com/bpstelios10.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SPRING WEB WITH CLEAN ARCHITECTURE\n\nCOMMIT BY COMMIT IMPLEMENTATION OF A SPRING WEB APP THAT IMPLEMENTS CLEAN ARCHITECTURE\n\nThe main focus is to separate business entity, use cases and infrastructure (gateways, controllers, repositories etc)\ninto 3 different levels.\nIn our case the 3 levels will be the 3 different packages: domain, usecases, adapter.\n\nAfter we separate the 3 layers, we need to use interfaces for any interactions between layers.\nAlso, keep dependencies pointing from outer layer to inner and avoid having dependencies between layers that are not\nnext to each other (usually an exception is a repository which will point to business entities).\n\nSo our example should look like this:\n\n\u003cimg src=\"docs-resources/clean-architecture.png\" style=\"margin: auto; display: block;\" width=\"800\" height=\"400\" alt=\"class diagram\"\u003e\n\nNotes: for technical documentation/guides have a look [here](docs-resources/TECH-DOC.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbpstelios10%2Fclean-architecture-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbpstelios10%2Fclean-architecture-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbpstelios10%2Fclean-architecture-sample/lists"}