{"id":20875266,"url":"https://github.com/awakelife93/spring-boot-boilerplate","last_synced_at":"2025-08-12T12:32:17.579Z","repository":{"id":204395497,"uuid":"711732547","full_name":"awakelife93/spring-boot-boilerplate","owner":"awakelife93","description":"spring boot (java) boilerplate","archived":false,"fork":false,"pushed_at":"2024-04-22T09:57:51.000Z","size":156,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-22T13:04:27.578Z","etag":null,"topics":["boilerplate","gradle","java","jpa","jwt","postgresql","querydsl","redis","spring-batch","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awakelife93.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}},"created_at":"2023-10-30T04:04:34.000Z","updated_at":"2024-04-25T11:53:21.536Z","dependencies_parsed_at":"2024-04-25T11:53:05.402Z","dependency_job_id":null,"html_url":"https://github.com/awakelife93/spring-boot-boilerplate","commit_stats":null,"previous_names":["awakelife93/spring-boot-boilerplate"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awakelife93%2Fspring-boot-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awakelife93%2Fspring-boot-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awakelife93%2Fspring-boot-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awakelife93%2Fspring-boot-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awakelife93","download_url":"https://codeload.github.com/awakelife93/spring-boot-boilerplate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243249011,"owners_count":20260768,"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":["boilerplate","gradle","java","jpa","jwt","postgresql","querydsl","redis","spring-batch","spring-boot","spring-security"],"created_at":"2024-11-18T06:43:33.022Z","updated_at":"2025-03-12T16:16:36.823Z","avatar_url":"https://github.com/awakelife93.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Spring Boot Boilerplate\n\n### Environment \u0026 Skills\n\n- Application\n  - Java / JDK 17\n  - Spring boot 3.3.0\n  - Gradle 8.2.1\n  - Spring Security 6.1.4\n  - Spring Batch 5.0.3\n  - Springdoc OpenAPI\n  - Postgresql\n  - h2 database (PostgreSQL mode) - localhost environment\n  - Jpa\n  - QueryDSL\n  - Redis\n  - Lombok\n  - Jwt\n  - Validation\n  - Sentry\n  - LogBack\n  - Flyway\n\n- Test\n  - Spring Boot Starter Test\n  - Spring Security\n  - Spring Batch\n  - Junit 5\n  - Mockito\n  - Instancio\n  - h2 database (PostgreSQL mode)\n  - Flyway\n\n- Tools\n  - Pgadmin\n\n### Project Guide\n\n- common\n- domain (post, user, auth)\n- security\n  - spring security + jwt logic\n- utils\n- resources\n  - prod, dev, local, common, test, secret-{environment}\n    - common: Write common variables for the project.\n    - test: Create the variables needed for your test environment.\n    - secret-{environment}: auth (jwt, api key), database information\n\n### Description\n- cors\n  - This project used **spring security** rather than WebMvcConfigurer for the cors environment.\n- docker-compose\n  - If you plan to use it, you need to check the environment variables.\n- create spring batch metadata table (localhost, development and production environments.)\n  - Run your ddl script or Please refer to [github - spring batch ](https://github.com/spring-projects/spring-batch/blob/5.0.x/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-postgresql.sql)\n    - Since this project uses postgresql, the spring.batch.jdbc.initialize-schema: always option does not work.\n    - localhost \u0026 test environment, generating [batch-postgresql-metadata-schema.sql](src/main/resources/db/sql/batch-postgresql-metadata-schema.sql).\n      - [application-test.yml](src/main/resources/application-test.yml)\n\n### Author\nHyunwoo Park\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawakelife93%2Fspring-boot-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fawakelife93%2Fspring-boot-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawakelife93%2Fspring-boot-boilerplate/lists"}