{"id":14986686,"url":"https://github.com/laurosilveira/spring-reactive-api","last_synced_at":"2025-10-25T22:09:53.645Z","repository":{"id":202798304,"uuid":"706027632","full_name":"LauroSilveira/spring-reactive-api","owner":"LauroSilveira","description":"A Spring reactive API Rest","archived":false,"fork":false,"pushed_at":"2025-10-24T12:20:47.000Z","size":28889,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-24T14:21:00.913Z","etag":null,"topics":["api-first","api-rest","jacoco-report","java21","mapstruct","openapi-specification","spring-boot","spring-webflux","swagger"],"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/LauroSilveira.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-17T07:00:32.000Z","updated_at":"2025-10-24T12:20:52.000Z","dependencies_parsed_at":"2023-11-13T08:29:02.589Z","dependency_job_id":"8ba98e07-192e-4339-b1a1-231bd0297283","html_url":"https://github.com/LauroSilveira/spring-reactive-api","commit_stats":{"total_commits":55,"total_committers":2,"mean_commits":27.5,"dds":"0.32727272727272727","last_synced_commit":"9049f63a8f9bbdd3e107926f74773d7427e8ed15"},"previous_names":["laurosilveira/spring-reactive-api"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/LauroSilveira/spring-reactive-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauroSilveira%2Fspring-reactive-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauroSilveira%2Fspring-reactive-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauroSilveira%2Fspring-reactive-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauroSilveira%2Fspring-reactive-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LauroSilveira","download_url":"https://codeload.github.com/LauroSilveira/spring-reactive-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauroSilveira%2Fspring-reactive-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281026684,"owners_count":26431842,"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","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"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":["api-first","api-rest","jacoco-report","java21","mapstruct","openapi-specification","spring-boot","spring-webflux","swagger"],"created_at":"2024-09-24T14:13:20.570Z","updated_at":"2025-10-25T22:09:53.630Z","avatar_url":"https://github.com/LauroSilveira.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spring-reactive-api\n\n## Content\n* [Introduction](#introduction)\n* [Setup](#setup)\n* [Documentation](#documentation)\n* [Hot to run](#how-to-run)\n* [Test Coverage by Jacoco Reporter](#test-coverage)\n* [To do List](#to-do-list)\n* [Contributors](#Contributors)\n* [License](#license)\n\n### Introduction\nTo learn more about asynchronous programming I decided to create an API using Spring WebFlux.\nBut what does this API do? Basically, there are currently three endpoints to list all users and another to obtain complete user information with their books, albums and posts.\n\n### Setup\n\nTo be able to run the project locally you need to have it configured on your computer.\n- JDK 17 at least\n- Maven 3.8\n- Terminal of your choice\n\n\n### Techinologies\n- Java 21\n- Spring Boot 3.3.1\n- Spring WebFlux\n- Spring OpenAPI\n- Swagger \n- Maven 3.8.6\n- Docker\n- Jacoco Reporter\n- Mapstruct\n\n### Documentation\nthe project is documented using Spring OpenAPI.\nThis Spring Framework starter allows us to generate Swagger documentation for all endpoints.\nAfter access the url, you will see:\n\n![openapi-endpoints.pgn](data/openapi-endpoints.png)\n\n### How to run\nFirst you have to clone the repository.\n``\nhttps://github.com/LauroSilveira/spring-reactive-api.git\n``\nChange directory to where you downloaded and execute:\n\n```\nmvn clean install\n```\n\nThis will install all dependencies in you .m2.\n\nAfter it executes the following command:\n\n```\nmvn spring-boot:run\n```\n\n#### Run with Docker Compose\nSe você tiver o Docker e o Docker compose instalados, poderá executá-lo simplesmente executando `docker-compose up`\n\n### Test Coverage by Jacoco Reporter\ncurrently the code coverage rate is not complete.\nHowever, it is planned to go up.\nIt is possible to see using the Jacoco reporter plugin.\n\n![jacoco-coverage.png](data/jacoco-coverage.png)\n\n## Contributors\n[@LauroSilveira](https://github.com/LauroSilveira)\n\n## License\n[MIT](https://choosealicense.com/licenses/mit/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaurosilveira%2Fspring-reactive-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaurosilveira%2Fspring-reactive-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaurosilveira%2Fspring-reactive-api/lists"}