{"id":25123543,"url":"https://github.com/f-lab-edu/goodchoice","last_synced_at":"2026-04-13T00:44:04.664Z","repository":{"id":161914088,"uuid":"636158924","full_name":"f-lab-edu/goodchoice","owner":"f-lab-edu","description":"✅ 실시간 최저가로, 예약을 한 번에! ","archived":false,"fork":false,"pushed_at":"2024-01-03T17:10:29.000Z","size":528,"stargazers_count":0,"open_issues_count":29,"forks_count":2,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-02-08T07:16:54.022Z","etag":null,"topics":["f-lab","java","java-backend","mysql","redis","spring-boot","spring-data-jpa"],"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/f-lab-edu.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}},"created_at":"2023-05-04T08:45:13.000Z","updated_at":"2023-08-09T08:38:59.000Z","dependencies_parsed_at":"2024-01-03T10:10:58.782Z","dependency_job_id":null,"html_url":"https://github.com/f-lab-edu/goodchoice","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/f-lab-edu%2Fgoodchoice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f-lab-edu%2Fgoodchoice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f-lab-edu%2Fgoodchoice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f-lab-edu%2Fgoodchoice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/f-lab-edu","download_url":"https://codeload.github.com/f-lab-edu/goodchoice/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246852370,"owners_count":20844377,"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":["f-lab","java","java-backend","mysql","redis","spring-boot","spring-data-jpa"],"created_at":"2025-02-08T07:16:56.730Z","updated_at":"2026-04-13T00:44:04.620Z","avatar_url":"https://github.com/f-lab-edu.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# goodchoice\n\n\n\u003cp align=\"middle\" \u003e\n  \u003cimg width=\"200px;\" src=\"https://cdn-icons-png.flaticon.com/512/4812/4812872.png\"/\u003e\n\u003c!--   ![image](https://github.com/f-lab-edu/goodchoice/assets/46472768/c1f0a682-7982-466f-860b-84be2691f9f5) --\u003e\n\u003c/p\u003e\n\u003ch1 align=\"middle\"\u003egoodchoice\u003c/h1\u003e\n\u003cp align=\"middle\"\u003e실시간 최저가로, 예약을 한 번에! 내주변 숙소 예약 서비스 플랫폼 goodchoice입니다!\u003c/p\u003e\n\n## 프로젝트 소개\n\n내주변 숙소 정보 제공, 예약 서비스입니다.\n\n\n## 팀원 👨‍👨‍👧‍👧👩‍👦‍👦\n\n|                                         Backend                                          |                                         Backend                                          |\n| :--------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------: |\n| \u003cimg src=\"\" width=400px alt=\"선강\"/\u003e | \u003cimg src=\"\" width=400px alt=\"봄봄\"/\u003e |\n|                       [선강](https://github.com/zzangoobrother)                        |                            [은지](https://github.com/KATEKEITH)                            |       |\n\n## 기술 스택\n![Java](https://img.shields.io/badge/Java-17-007396?logo=java\u0026logoColor=white) ![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.7.14-6DB33F?logo=spring%20boot\u0026logoColor=6DB33F) ![Swagger](https://img.shields.io/badge/Swagger-85EA2D?logo=swagger\u0026logoColor=85EA2D) ![Spring Data JPA](https://img.shields.io/badge/Spring%20Data%20JPA-6DB33F?logo=\u0026logoColor=6DB33F) ![MySQL](https://img.shields.io/badge/MySQL-4479A1?logo=mysql\u0026logoColor=4479A1) ![Gradle](https://img.shields.io/badge/Gradle-02303A?logo=gradle\u0026logoColor=02303A) ![IntelliJ IDEA](https://img.shields.io/badge/-IntelliJ%20IDEA-FF0000?logo=intellij%20idea\u0026logoColor=white)\n\n## 프로젝트 중점사항\n\n- 확장성을 고려한 역할에 맞는 멀티모듈\n- service layer를 고립시켜 pojo로 단위테스트 작성\n- Jenkins를 사용하여 CI/CD 구축\n- Docker 를 이용하여 CD 구현\n- Vault 서버를 띄워 암호, 설정값 관리\n- Mysql Replication, Master/Slave로 데이터베이스 이중화\n\n\n## 기술적 issue 해결 과정\n\n- 선착순 쿠폰 발급에서 재고 계산 동기화 문제 Redis 분산락 이용하여 해결\n- 선착순 쿠폰 발급 실패 처리된 쿠폰들 배치로 쿠폰 발급 처리\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff-lab-edu%2Fgoodchoice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ff-lab-edu%2Fgoodchoice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff-lab-edu%2Fgoodchoice/lists"}