{"id":18861248,"url":"https://github.com/simplydemo/userservice-demo","last_synced_at":"2026-05-05T06:37:23.045Z","repository":{"id":76282531,"uuid":"459793342","full_name":"simplydemo/userservice-demo","owner":"simplydemo","description":"Backend Demo application combines components such as kotlin, spring-boot, jpa, webmvc, junit, mockk","archived":false,"fork":false,"pushed_at":"2023-08-24T16:18:29.000Z","size":61,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-30T20:27:59.426Z","etag":null,"topics":["jpa","junit5","kotlin","maven","rest-api","spring-webflux-functional"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/simplydemo.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":"2022-02-16T00:12:27.000Z","updated_at":"2023-08-23T06:29:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"5ad5ed4e-463f-4b71-ae45-772f082b9072","html_url":"https://github.com/simplydemo/userservice-demo","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplydemo%2Fuserservice-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplydemo%2Fuserservice-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplydemo%2Fuserservice-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplydemo%2Fuserservice-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simplydemo","download_url":"https://codeload.github.com/simplydemo/userservice-demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239800483,"owners_count":19699147,"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":["jpa","junit5","kotlin","maven","rest-api","spring-webflux-functional"],"created_at":"2024-11-08T04:28:49.816Z","updated_at":"2026-02-09T09:30:16.502Z","avatar_url":"https://github.com/simplydemo.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# user-crud-demo-backend\nBackend combines components such as kotlin, spring-boot, jpa, webmvc, junit, mockk\n\n## Build\n프로젝트 build 및 run 을 위해 먼저 jdk-17 버전을 준비합니다.\n```shell\njava -version\n\n# sdk 패키지 매니저를 이용 한다면 현재 java 버전 확인 및 버전 변경을 할 수 있습니다.\nsdk current java \n# 17 버전이 없다면 설치 가능\n# sdk install java \u003cJDK_17_Version\u003e\nsdk default java \u003cJDK_17_Version\u003e  \n```\n\n```\nmvn clean package -DskipTests=true\n```\n\n## Run\n```\nmvn spring-boot:run -DskipTests=true\n```\n\n## Check APIs\n\n### query\n```\ncurl -v -L -X GET http://localhost:8080/api/v1/users/query\n```\n\n### users-add\n```\ncurl -v -L  -X POST 'http://localhost:8080/api/v1/users' \\\n-H 'Content-Type: application/json' -H 'Authorization: Bearer {token}' \\\n--data-raw '{\n    \"firstName\": \"scott2\",\n    \"lastName\": \"pines\",\n    \"email\": \"scott2@pines.io\",\n    \"role\": \"Manager\",\n    \"title\": \"MR\",\n    \"usercode\": \"scott21234\"\n}' \n```\n\n### users-find-all\n```\ncurl -v -L -X GET 'http://localhost:8080/api/v1/users' \\\n -H 'Content-Type: application/json' -H 'Authorization: Bearer {token}' \n```\n\n### users-find-by-id\n```\ncurl -v -L -X GET 'http://localhost:8080/api/v1/users/1' \\\n -H 'Content-Type: application/json' -H 'Authorization: Bearer {token}' \n```\n\n### users-modify\n```\ncurl -v -L -X PUT 'http://localhost:8080/api/v1/users/3' \\\n -H 'Content-Type: application/json' -H 'Authorization: Bearer {token}' \\\n --data-raw '{\n    \"id\": 3,\n    \"firstName\": \"Banana\",\n    \"lastName\": \"Fruit\",\n    \"email\": \"banana.fruit@farm.io\",\n    \"role\": \"Admin\",\n    \"title\": \"Mr\",\n    \"usercode\": \"banana1234\"\n}' \n```\n\n### users-find-by-query\n```\ncurl -v -L -X GET 'http://localhost:8080/api/v1/users/query?lastName=Fruit\u0026title=mr\u0026email=farm\u0026role=manager' \\\n-H 'Content-Type: application/json' -H 'Authorization: Bearer {token}'\n```\n\n\n### users-delete\n```\ncurl -v -L -X DELETE 'http://localhost:8080/api/v1/users/4' \\\n-H 'Content-Type: application/json' -H 'Authorization: Bearer {token}'\n```\n\n## Appendix\n\n### Docker Mysql UP\n```\ndocker-compose -f ./cicd/docker/docker-compose-mysql.yaml up -d\n\n# Listen port 확인 (by netcat)\n# nc -vc localhost 53306\n```\n### Docker H2 UP\n```\ndocker-compose -f ./cicd/docker/docker-compose-h2.yaml up -d\n\n# Listen port 확인 (by netcat)\n# nc -vc localhost 1521\n```\n\n### Build Docker Image\n```\nmvn clean package -DskipTests=true\n\ndocker build -t symplesims/user-service:loc-1.0 -f ./cicd/docker/Dockerfile .\n\n### Docker Service UP\ndocker-compose -f ./cicd/docker/docker-compose.yaml up -d\n\n# with profile\n# docker-compose -f ./cicd/docker/docker-compose.yaml run user-service -e SPRING_PROFILE=dev\n\n# Down\n# docker-compose -f ./cicd/docker/docker-compose.yaml down\n```\n\n### Reference Documentation\nFor further reference, please consider the following sections:\n\n* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)\n* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.5.6/maven-plugin/reference/html/)\n* [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.5.6/maven-plugin/reference/html/#build-image)\n* [Rest Repositories](https://docs.spring.io/spring-boot/docs/2.5.6/reference/htmlsingle/#howto-use-exposing-spring-data-repositories-rest-endpoint)\n* [Spring Web](https://docs.spring.io/spring-boot/docs/2.5.6/reference/htmlsingle/#boot-features-developing-web-applications)\n* [Spring Data JPA](https://docs.spring.io/spring-boot/docs/2.5.6/reference/htmlsingle/#boot-features-jpa-and-spring-data)\n\n### Guides\nThe following guides illustrate how to use some features concretely:\n\n* [Accessing JPA Data with REST](https://spring.io/guides/gs/accessing-data-rest/)\n* [Accessing Neo4j Data with REST](https://spring.io/guides/gs/accessing-neo4j-data-rest/)\n* [Accessing MongoDB Data with REST](https://spring.io/guides/gs/accessing-mongodb-data-rest/)\n* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)\n* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)\n* [Building REST services with Spring](https://spring.io/guides/tutorials/bookmarks/)\n* [Accessing Data with JPA](https://spring.io/guides/gs/accessing-data-jpa/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplydemo%2Fuserservice-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplydemo%2Fuserservice-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplydemo%2Fuserservice-demo/lists"}