{"id":19723958,"url":"https://github.com/vs4vijay/harbor","last_synced_at":"2025-02-27T18:45:56.100Z","repository":{"id":43341837,"uuid":"315118030","full_name":"vs4vijay/HARBOR","owner":"vs4vijay","description":"A Microservice in Java and Micronaut","archived":false,"fork":false,"pushed_at":"2025-02-25T12:24:19.000Z","size":25,"stargazers_count":1,"open_issues_count":8,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-25T13:30:56.838Z","etag":null,"topics":["api","java","jvm","micronaut","microservice","microservices","rest-api","restful-api"],"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/vs4vijay.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":"2020-11-22T19:42:19.000Z","updated_at":"2025-01-14T03:41:36.000Z","dependencies_parsed_at":"2022-09-21T00:54:22.547Z","dependency_job_id":"35cd36b8-9bc9-49b4-b467-64d2277dbbd4","html_url":"https://github.com/vs4vijay/HARBOR","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vs4vijay%2FHARBOR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vs4vijay%2FHARBOR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vs4vijay%2FHARBOR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vs4vijay%2FHARBOR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vs4vijay","download_url":"https://codeload.github.com/vs4vijay/HARBOR/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241045517,"owners_count":19899665,"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":["api","java","jvm","micronaut","microservice","microservices","rest-api","restful-api"],"created_at":"2024-11-11T23:24:03.750Z","updated_at":"2025-02-27T18:45:56.082Z","avatar_url":"https://github.com/vs4vijay.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HARBOR\nA Microservice in Micronaut\n\n## Running\n\n```shell\n\n# Run application\n./gradlew run\n\n# Run application in watching mode\n./gradlew run --continuous\n\n# Package application\n./gradlew assemble\n\n```\n\n---\n\n### Development Notes\n\n```shell\n\nInstall SDKMAN\ncurl -s https://get.sdkman.io | bash\n\nsdk install java\nsdk install gradle\nsdk install micronaut\n\nmn create-app harbor -i --test=junit\nmn create-controller SpaceX\nmn create-bean SpaceXService\nmn create-client SpaceX\nmn feature-diff --features acme\n\ngradle run\ngradle jib\ngradle dockerBuild\ngradle dockerBuildNative\ngradle nativeImage\n\ngradle clean run\n\n---\n\nMicronaut\n\n- AOT\n- Fast startup time\n- Low Memory Footprint\n- No Reflections\n- DI\n- AOP\n- Features\n  - Micronaut Data-{processor,jdbc} - https://micronaut-projects.github.io/micronaut-data/latest/guide/index.html\n  - Micronaut Security-{annotations,jwt} \n  - jib\n  - config-consul\n  - micronaut-discovery-client\n  - micronaut-openapi\n  - micronaut-jdbc-hikari\n  - micronaut-hibernate-jpa\n  - micronaut-liquibase\n  - micronaut-graal\n  - micronaut-management\n  - micrometer-atlas\n  - micronaut-tracing\n  - micronaut-kubernetes-discovery-client\n- Microservice design patterns - Service Discovery, Circuit Breaker\n- Scaffolding\n- Cache\n- Default Login and Logout Handler\n- Various auth and security mechanisms - https://guides.micronaut.io/micronaut-security-jwt/guide/index.html\n- Support for ScheduledJob\n- Configuration\n- Test Container\n- Build Native Image using GraalVM\n\n---\n\n@Entity\n@Id\n@GeneratedValue\n\n\n@JdbcRepository, {CrudRepository\u003c\u003e,PageableRepository\u003c\u003e}\n\nDeclarative Rest Client\nDeclarative Crud Repository\nClient-side Load Balancing\n\napplication-test.yml\n\nAnnotation Configuration\n\nManagement Endpoints\n/beans\n/health\n/metrics\n/info\n\n@Inject\nEmbeddedServer server //refers to the server that was started up for this test suite\n\n@Inject\nApplicationContext context\n\nGraalVM\n\n\u003clogger name=\"io.micronaut.http.client\" level=\"TRACE\"/\u003e\n\ntry (ApplicationContext context = ApplicationContext.run()) { \n    MyBean myBean = context.getBean(MyBean.class); \n    // do something with your bean\n}\nEnvironment environment = applicationContext.getEnvironment();\nfinal BeanContext context = BeanContext.run();\n\nMap\u003cString, Person\u003e inMemoryDatastore = new ConcurrentHashMap\u003c\u003e();\n\nOperations and Fallback\n\nLombok - https://docs.micronaut.io/2.2.0/guide/index.html#lombok\n\nUse JPARepository for Hibernate\n\nHttpResponse.status(HttpStatus.CREATED).body(\"success\")\n\n@Introspected for POJO/DTO\n\n\nRef:\n- https://www.youtube.com/watch?v=S5yfTfPeue8\n- https://github.com/asc-lab/micronaut-microservices-poc\n- https://alvarosanchez.github.io/micronaut-workshop/\n- https://mfarache.github.io/mfarache/Building-microservices-Micronoaut/\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvs4vijay%2Fharbor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvs4vijay%2Fharbor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvs4vijay%2Fharbor/lists"}