{"id":15349492,"url":"https://github.com/ravening/image-microservices-spring-boot","last_synced_at":"2026-04-18T19:31:50.466Z","repository":{"id":117364504,"uuid":"217254013","full_name":"ravening/Image-Microservices-Spring-Boot","owner":"ravening","description":"Microservices in Java implemented using Spring boot and Spring Cloud","archived":false,"fork":false,"pushed_at":"2019-10-25T11:56:31.000Z","size":67,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-26T23:58:46.035Z","etag":null,"topics":["hysterix","java","jwt","jwt-authentication","microservices","restful-webservices","resttemplate","sleuth","spring-boot","spring-cloud","spring-cloud-config","spring-cloud-eureka","spring-cloud-netflix","zuul-server"],"latest_commit_sha":null,"homepage":null,"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/ravening.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":"2019-10-24T08:49:56.000Z","updated_at":"2020-04-08T15:28:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"8f4b5d1c-5f87-40fb-a242-32c299171030","html_url":"https://github.com/ravening/Image-Microservices-Spring-Boot","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"19d35a5281b65ef4b150b257e94fb239608f856b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ravening/Image-Microservices-Spring-Boot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravening%2FImage-Microservices-Spring-Boot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravening%2FImage-Microservices-Spring-Boot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravening%2FImage-Microservices-Spring-Boot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravening%2FImage-Microservices-Spring-Boot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravening","download_url":"https://codeload.github.com/ravening/Image-Microservices-Spring-Boot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravening%2FImage-Microservices-Spring-Boot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31982527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T17:30:12.329Z","status":"ssl_error","status_checked_at":"2026-04-18T17:29:59.069Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["hysterix","java","jwt","jwt-authentication","microservices","restful-webservices","resttemplate","sleuth","spring-boot","spring-cloud","spring-cloud-config","spring-cloud-eureka","spring-cloud-netflix","zuul-server"],"created_at":"2024-10-01T11:54:48.237Z","updated_at":"2026-04-18T19:31:50.418Z","avatar_url":"https://github.com/ravening.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Image microservices using Java\n\nThis is a sample image microservice developed using Spring Boot Spring Cloud and Java\n\n## Description\n\nThis contains an image service which stores the IMDB images.\\\nThe gallery service fetches the details from image service.\\\nAuthentication service provides authentication and authorization using JWT\nZuul service provides client side load balancing.\n\nFor more details, refer to https://medium.com/omarelgabrys-blog/microservices-with-spring-boot-intro-to-microservices-part-1-c0d24cd422c3\n\n## Getting started\n\n1 . Clone the respository\n\n2 . Start the below services in order\n```\nStart the eureka server\ncd eureka-server\n./mvnw spring-boot:run\n\n\nStart the image service\n\ncd image-service\n./mvnw spring-boot:run\n\nYou can start multiple instance of image service using\njava -jar -Dserver.port=\u003c\u003e target/image-service-*.jar\n\nStart the gallery service\n\ncd gallery-service\n./mvnw spring-boot:run\n\nYou can start the second instance of gallery service using\njava -jar -Dserver.port=8300 target/gallery-service-*.jar\n\nStart the auth service\n\ncd auth-service\n./mvnw spring-boot:run\n\nFinally start the zuul-server\n\ncd zuul-server\n./mvnw spring-boot:run\n```\n\n3 . Once all the services are started successfully, make sure they are registered with\\\n    eureka server by navigating to\n```\nhttp://localhost:8761\n```\n\n4 . In order to access the service, first you need to get the JWT by providing your credentials\\\n    I have stored two users in the file ```UserDetailsServiceImpl.java```.\\\n    Send a POST request to below link with the following body\n```\nhttp://localhost:8762/auth\n```\n\nBody should be\n```\n{\n    \"username\": \"\u003cone of the username from the above java file\u003e\"\n    \"password\": \"password for that user\"\n}\n```\n\nIf you are authenticated successfully, you should receive a JWT in the header.\\\nCopy just the encrypted token without including \"Bearer\" keyword.\n\n5 . Now to access the endpoints you need to pass this encrypted token in the header\n\n6 . In postman create a new get request for the below end point\n```\nhttp://localhost:8762/gallery/1\n```\n\nAuthorization should be \"Bearer Token\" and paste the above copied token in the \"Token\" field\n\n## Built With\n\n* [Maven](https://maven.apache.org/) - Dependency Management\n\n\n## Authors\n* **Rakesh Venkatesh** - [rakgenius](https://github.com/rakgenius)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravening%2Fimage-microservices-spring-boot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravening%2Fimage-microservices-spring-boot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravening%2Fimage-microservices-spring-boot/lists"}