{"id":18783640,"url":"https://github.com/yildizmy/employee-management","last_synced_at":"2026-02-28T04:08:07.402Z","repository":{"id":241285688,"uuid":"805770347","full_name":"yildizmy/employee-management","owner":"yildizmy","description":"Microservices demo with Spring Boot, Spring Cloud, FeignClient and Zipkin","archived":false,"fork":false,"pushed_at":"2024-12-20T17:07:00.000Z","size":583,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-29T23:21:06.889Z","etag":null,"topics":["employee","employee-management","eureka","eureka-client","eureka-server","feign-client","java","microservice","microservices","microservices-architecture","rest-api","spring-boot","spring-cloud","spring-cloud-config","spring-cloud-gateway","spring-cloud-microservice","spring-cloud-netflix","spring-cloud-openfeign","spring-mvc","zipkin"],"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/yildizmy.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,"zenodo":null}},"created_at":"2024-05-25T12:09:16.000Z","updated_at":"2025-07-06T18:38:42.000Z","dependencies_parsed_at":"2024-06-05T20:44:14.963Z","dependency_job_id":"c598d0bd-1dd6-4950-8ce9-6591241bbea0","html_url":"https://github.com/yildizmy/employee-management","commit_stats":null,"previous_names":["yildizmy/employee-management"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yildizmy/employee-management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yildizmy%2Femployee-management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yildizmy%2Femployee-management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yildizmy%2Femployee-management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yildizmy%2Femployee-management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yildizmy","download_url":"https://codeload.github.com/yildizmy/employee-management/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yildizmy%2Femployee-management/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29924719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"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":["employee","employee-management","eureka","eureka-client","eureka-server","feign-client","java","microservice","microservices","microservices-architecture","rest-api","spring-boot","spring-cloud","spring-cloud-config","spring-cloud-gateway","spring-cloud-microservice","spring-cloud-netflix","spring-cloud-openfeign","spring-mvc","zipkin"],"created_at":"2024-11-07T20:39:58.568Z","updated_at":"2026-02-28T04:08:07.384Z","avatar_url":"https://github.com/yildizmy.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## employee-management\nMicroservices demo Spring Boot 3, Spring Cloud, FeignClient and Zipkin.\n\n\u003e [!NOTE]\n\u003e To provide a clearer focus on the microservices architecture in this application, some features, such as database, services and validation have been omitted and in-memory data is used.\n\u003cbr/\u003e\n\n### Description\n\nThis project is created to demonstrate useful features of [Spring Cloud Project](https://spring.io/projects/spring-cloud) for building microservice-based architecture. By default, Spring Cloud Config Server stores the configuration data inside the Git repository. We will change that behavior by activating the native mode. In this mode, Spring Cloud Config Server reads property sources from the classpath.\n\n\u003cbr/\u003e\n\n### Architecture\n\nThis microservices-based system consists of the following modules:\n\n\n\u003cimg src=\"config-service/src/main/resources/images/architecture.png\" width=\"960\"/\u003e\n\n- **gateway-service** : acts as a proxy/gateway in our architecture\n- **config-service** : uses Spring Cloud Config Server for running configuration server in the `native` mode\n- **discovery-service** : uses Spring Cloud Netflix Eureka as an embedded discovery server\n- **employee-service** : sample microservice that allows to perform CRUD operation on in-memory repository of employees\n- **department-service** : sample microservice that allows to perform CRUD operation on in-memory repository of departments and communicates with employee-service.\n- **organization-service** : sample microservice that allows to perform CRUD operation on in-memory repository of organizations and communicates with both employee-service and department-service.\n\n\u003cbr/\u003e\n\n\n## Getting Started\n\nThe following apps should be installed before running the application:\n\n- A command line app\n- Docker Desktop\n  \u003cbr/\u003e\n\n\u003e [!TIP]\n\u003e For more information regarding the system requirements, etc. refer to the following pages: \u003cbr/\u003e\n\u003e [Install on Mac](https://docs.docker.com/desktop/install/mac-install/)\u003cbr/\u003e\n\u003e [Install on Windows](https://docs.docker.com/desktop/install/windows-install/)\u003cbr/\u003e\n\u003e [Install on Linux](https://docs.docker.com/desktop/install/linux-install/)\u003cbr/\u003e\n\n\u003cbr/\u003e\n\n### Running the application\n\nIn order to run the application on local, follow these steps:\n\n1. Run Docker desktop.\n\n\u003cbr/\u003e\n\n2. Open command prompt window and clone the project from GitHub using the following command:\n\n```shell\ngit clone https://github.com/yildizmy/employee-management.git\n```\n\u003cbr/\u003e\n\n3. Run Zipkin container with the following command:\n\n```shell\ndocker run -d --name zipkin -p 9411:9411 openzipkin/zipkin\n```\n\u003cbr/\u003e\n\n4. Open the project using `IntelliJ IDEA`. Then select `Java 21` version via `File \u003e Project Structure \u003e Project \u003e SDK` menu and run the services in the following order:\n\n\u003e [!IMPORTANT]\n\u003e If \"_Lombok requires enabled annotation processing_\" dialog appears at this stage, click \"_Enable annotation processing_\" button.\n\n- **config-service**\n- **discovery-service**\n- **gateway-service**\n- the other services (**employee-service**, **department-service**, **organization-service**)\n\n\u003cbr/\u003e\n\n\n### Testing the application\n\nIn order to test the application by sending request, see details on [How to test?](config-service/src/main/resources/docs/how_to_test.md) section.\n\n\u003cbr/\u003e\n\n\n### Dependencies\n\n* Spring Boot\n* Spring Cloud\n* Spring Cloud Netflix - Eureka\n* Spring Cloud Config\n* Spring Cloud OpenFeign\n* Docker\n* Zipkin\n\n\u003cbr/\u003e\n\n### Documentation\n[Spring Boot](https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/)\u003cbr/\u003e\n[Spring Cloud](https://spring.io/projects/spring-cloud/)\u003cbr/\u003e\n[Spring Cloud Netflix - Eureka](https://cloud.spring.io/spring-cloud-netflix/reference/html/)\u003cbr/\u003e\n[Spring Cloud Config](https://docs.spring.io/spring-cloud-config/docs/current/reference/html/)\u003cbr/\u003e\n[Spring Cloud OpenFeign](https://docs.spring.io/spring-cloud-openfeign/docs/current/reference/html/)\u003cbr/\u003e\n[Docker](https://www.docker.com/)\u003cbr/\u003e\n[Zipkin](https://zipkin.io/)\u003cbr/\u003e\n\n\u003cbr/\u003e\n\n### Version History\n\n* v0.0.1 Initial Release\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyildizmy%2Femployee-management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyildizmy%2Femployee-management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyildizmy%2Femployee-management/lists"}