{"id":35094965,"url":"https://github.com/stackpan/vivlio","last_synced_at":"2026-04-28T02:32:50.221Z","repository":{"id":218544390,"uuid":"746652705","full_name":"stackpan/vivlio","owner":"stackpan","description":"Spring Boot RESTful API project that implement HATEOAS, authentication with JWT using OAuth2 Resource Server and method based authorization using built-in Spring Security","archived":false,"fork":false,"pushed_at":"2024-01-23T04:15:31.000Z","size":100,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-29T07:32:28.977Z","etag":null,"topics":["jpa","jwt","oauth2","spring-boot","spring-security"],"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/stackpan.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-01-22T12:50:18.000Z","updated_at":"2025-04-15T02:40:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"1ba64ea2-c59e-4e1b-bd8d-d86c6e54d6b9","html_url":"https://github.com/stackpan/vivlio","commit_stats":null,"previous_names":["stackpan/vivlio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stackpan/vivlio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackpan%2Fvivlio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackpan%2Fvivlio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackpan%2Fvivlio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackpan%2Fvivlio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stackpan","download_url":"https://codeload.github.com/stackpan/vivlio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackpan%2Fvivlio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32363629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"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":["jpa","jwt","oauth2","spring-boot","spring-security"],"created_at":"2025-12-27T15:12:02.313Z","updated_at":"2026-04-28T02:32:50.215Z","avatar_url":"https://github.com/stackpan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vivlio\n\nβιβλίο (Reading: Vivlio) in Greek means book. This is just simple Book management API. The goal of this project is to implementing HATEOAS architecture, authentication with JWT using OAuth2 Resource Server and method based authorization using built-in Spring Security. And also implement custom UserDetails and its service that can be persisted into database.\n\n## Installation\n\nRequirement:\n- Java 21 or later\n- PostgreSQL database server\n\nSteps:\n1. Migrate the database from file `database.sql` that already located in the root directory of this repository.\n2. Generate private and public RSA key (you can use tool like [openssl](https://www.openssl.org/) to generate it). Feel free to locate those file anywhere in you machine but i prefer put them in project classpath (inside `src/main/resources` folder).\n3. Configure the app. You can follow the example from `application.yaml.example` file inside `src/main/resources`.\n4. Run the app: `./mvnw spring-boot:run`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackpan%2Fvivlio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstackpan%2Fvivlio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackpan%2Fvivlio/lists"}