{"id":15068830,"url":"https://github.com/valuewith/valuewith_be","last_synced_at":"2025-07-13T04:31:17.230Z","repository":{"id":203539542,"uuid":"708898533","full_name":"ValueWith/ValueWith_BE","owner":"ValueWith","description":"spring을 활용한 여행 도우미 프로젝트입니다.","archived":false,"fork":false,"pushed_at":"2023-12-19T13:01:00.000Z","size":552,"stargazers_count":0,"open_issues_count":5,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2023-12-19T14:38:32.247Z","etag":null,"topics":["java11","springboot2"],"latest_commit_sha":null,"homepage":"https://tweaver.vercel.app","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/ValueWith.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-10-23T15:52:47.000Z","updated_at":"2023-12-20T15:20:59.266Z","dependencies_parsed_at":"2023-12-19T14:44:14.614Z","dependency_job_id":null,"html_url":"https://github.com/ValueWith/ValueWith_BE","commit_stats":null,"previous_names":["valuewith/valuewith_be"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValueWith%2FValueWith_BE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValueWith%2FValueWith_BE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValueWith%2FValueWith_BE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValueWith%2FValueWith_BE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ValueWith","download_url":"https://codeload.github.com/ValueWith/ValueWith_BE/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225855966,"owners_count":17534966,"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":["java11","springboot2"],"created_at":"2024-09-25T01:39:25.145Z","updated_at":"2024-11-22T07:06:00.951Z","avatar_url":"https://github.com/ValueWith.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ValueWith_BE\n사용자들이 쉽게 여행을 떠날 수 있도록 도와주는 당일치기 여행 스케줄링 + 일행 모집 커뮤니티 플랫폼입니다.\n- 전체 구조: https://github.com/ValueWith\n- API 문서(swagger): https://tweaver.site/swagger-ui.html\n- 기능 문서는 [WIKI](https://github.com/ValueWith/ValueWith_BE/wiki/%08%ED%8A%B8%EC%9C%84%EB%B2%84-%EA%B5%AC%ED%98%84-%EA%B8%B0%EB%8A%A5-(UseCase))에서 확인하실 수 있습니다.\n\n## 디렉토리 구조\n\u003cdetails\u003e\n\u003csummary\u003e디렉토리 구조 접기/펼치기\u003c/summary\u003e\n\u003cdiv markdown=\"1\"\u003e\n\n```shell\n.\n├── Dockerfile\n├── build.gradle\n├── docker-compose.yml\n├── gradle\n│   └── wrapper\n│       ├── gradle-wrapper.jar\n│       └── gradle-wrapper.properties\n├── gradlew\n├── gradlew.bat\n├── pull_request_template.md\n├── settings.gradle\n└── src\n    ├── main\n    │   ├── java\n    │   │   └── com\n    │   │       └── valuewith\n    │   │           └── tweaver\n    │   │               ├── TweaverApplication.java\n    │   │               ├── alert\n    │   │               │   ├── controller\n    │   │               │   │   └── AlertController.java\n    │   │               │   ├── dto\n    │   │               │   │   ├── AlertRequestDto.java\n    │   │               │   │   └── AlertResponseDto.java\n    │   │               │   ├── entity\n    │   │               │   │   └── Alert.java\n    │   │               │   ├── repository\n    │   │               │   │   ├── AlertDsl.java\n    │   │               │   │   ├── AlertDslImpl.java\n    │   │               │   │   ├── AlertRepository.java\n    │   │               │   │   └── EmitterRepository.java\n    │   │               │   └── service\n    │   │               │       └── AlertService.java\n    │   │               ├── auditing\n    │   │               │   └── BaseEntity.java\n    │   │               ├── auth\n    │   │               │   ├── client\n    │   │               │   │   ├── MailgunClient.java\n    │   │               │   │   └── mailgun\n    │   │               │   │       └── SendEmailForm.java\n    │   │               │   ├── controller\n    │   │               │   │   └── AuthController.java\n    │   │               │   ├── dto\n    │   │               │   │   ├── AuthDto.java\n    │   │               │   │   ├── LoginMemberIdDto.java\n    │   │               │   │   └── OAuthAttributes.java\n    │   │               │   ├── handler\n    │   │               │   │   ├── OAuth2FailureHandler.java\n    │   │               │   │   ├── OAuth2SuccessHandler.java\n    │   │               │   │   ├── SigninFailureHandler.java\n    │   │               │   │   └── SigninSuccessHandler.java\n    │   │               │   ├── info\n    │   │               │   │   ├── KakaoOAuth2UserInfo.java\n    │   │               │   │   └── OAuth2UserInfo.java\n    │   │               │   ├── repository\n    │   │               │   │   └── HttpCookieOAuth2AuthorizationRequestRepository.java\n    │   │               │   └── service\n    │   │               │       ├── AuthService.java\n    │   │               │       ├── CustomMemberDetailService.java\n    │   │               │       ├── EmailService.java\n    │   │               │       └── OAuthUserCustomService.java\n    │   │               ├── chat\n    │   │               │   ├── controller\n    │   │               │   │   └── ChatRoomController.java\n    │   │               │   ├── dto\n    │   │               │   │   └── ChatRoomDto.java\n    │   │               │   ├── entity\n    │   │               │   │   └── ChatRoom.java\n    │   │               │   ├── repository\n    │   │               │   │   └── ChatRoomRepository.java\n    │   │               │   └── service\n    │   │               │       ├── ChatMemberService.java\n    │   │               │       └── ChatRoomService.java\n    │   │               ├── commons\n    │   │               │   ├── PrincipalDetails.java\n    │   │               │   ├── redis\n    │   │               │   │   └── RedisUtilService.java\n    │   │               │   └── security\n    │   │               │       ├── CustomJsonAuthenticationFilter.java\n    │   │               │       ├── JwtAuthenticationFilter.java\n    │   │               │       └── service\n    │   │               │           ├── CookieService.java\n    │   │               │           ├── PrincipalService.java\n    │   │               │           └── TokenService.java\n    │   │               ├── component\n    │   │               │   └── AlertListener.java\n    │   │               ├── config\n    │   │               │   ├── AppProperties.java\n    │   │               │   ├── AsyncConfig.java\n    │   │               │   ├── AuthConfig.java\n    │   │               │   ├── FeignConfig.java\n    │   │               │   ├── QuerydslConfiguration.java\n    │   │               │   ├── RedisConfig.java\n    │   │               │   ├── S3Config.java\n    │   │               │   ├── SecurityConfig.java\n    │   │               │   ├── SwaggerConfig.java\n    │   │               │   └── WebSocketConfig.java\n    │   │               ├── constants\n    │   │               │   ├── AlertContent.java\n    │   │               │   ├── ApprovedStatus.java\n    │   │               │   ├── ErrorCode.java\n    │   │               │   ├── GroupStatus.java\n    │   │               │   ├── ImageType.java\n    │   │               │   ├── MemberRole.java\n    │   │               │   ├── Provider.java\n    │   │               │   └── RedirectUrlType.java\n    │   │               ├── defaultImage\n    │   │               │   ├── controller\n    │   │               │   │   └── LocationImageController.java\n    │   │               │   ├── dto\n    │   │               │   │   └── DefaultImageResponseDto.java\n    │   │               │   ├── entity\n    │   │               │   │   └── DefaultImage.java\n    │   │               │   ├── exception\n    │   │               │   │   ├── InvalidFileMediaTypeException.java\n    │   │               │   │   ├── LocationNameEmptyException.java\n    │   │               │   │   ├── NoFileProvidedException.java\n    │   │               │   │   ├── S3ImageNotFoundException.java\n    │   │               │   │   └── UrlEmptyException.java\n    │   │               │   ├── repository\n    │   │               │   │   └── DefaultImageRepository.java\n    │   │               │   └── service\n    │   │               │       └── ImageService.java\n    │   │               ├── exception\n    │   │               │   ├── CustomException.java\n    │   │               │   ├── GlobalExceptionHandler.java\n    │   │               │   ├── SocialLoginFailureException.java\n    │   │               │   └── dto\n    │   │               │       └── ErrorResponseDto.java\n    │   │               ├── group\n    │   │               │   ├── controller\n    │   │               │   │   ├── TripGroupController.java\n    │   │               │   │   └── TripGroupListController.java\n    │   │               │   ├── dto\n    │   │               │   │   ├── TripGroupDetailResponseDto.java\n    │   │               │   │   ├── TripGroupListResponseDto.java\n    │   │               │   │   ├── TripGroupRequestDto.java\n    │   │               │   │   ├── TripGroupResponseDto.java\n    │   │               │   │   ├── TripGroupStatusListDto.java\n    │   │               │   │   └── TripGroupStatusResponseDto.java\n    │   │               │   ├── entity\n    │   │               │   │   └── TripGroup.java\n    │   │               │   ├── repository\n    │   │               │   │   ├── TripGroupRepository.java\n    │   │               │   │   ├── TripGroupRepositoryCustom.java\n    │   │               │   │   └── TripGroupRepositoryCustomImpl.java\n    │   │               │   └── service\n    │   │               │       ├── TripGroupListService.java\n    │   │               │       └── TripGroupService.java\n    │   │               ├── groupMember\n    │   │               │   ├── controller\n    │   │               │   │   ├── GroupMemberApplicationController.java\n    │   │               │   │   └── GroupMemberListController.java\n    │   │               │   ├── dto\n    │   │               │   │   ├── GroupMemberDetailResponseDto.java\n    │   │               │   │   ├── GroupMemberDto.java\n    │   │               │   │   └── GroupMemberListDto.java\n    │   │               │   ├── entity\n    │   │               │   │   └── GroupMember.java\n    │   │               │   ├── repository\n    │   │               │   │   ├── GroupMemberRepository.java\n    │   │               │   │   ├── GroupMemberRepositoryCustom.java\n    │   │               │   │   └── GroupMemberRepositoryCustomImpl.java\n    │   │               │   └── service\n    │   │               │       ├── GroupMemberApplicationService.java\n    │   │               │       ├── GroupMemberListService.java\n    │   │               │       └── GroupMemberService.java\n    │   │               ├── member\n    │   │               │   ├── controller\n    │   │               │   │   └── MemberController.java\n    │   │               │   ├── dto\n    │   │               │   │   ├── MemberDto.java\n    │   │               │   │   ├── MemberRequestDto.java\n    │   │               │   │   └── MemberResponseDto.java\n    │   │               │   ├── entity\n    │   │               │   │   └── Member.java\n    │   │               │   ├── repository\n    │   │               │   │   └── MemberRepository.java\n    │   │               │   └── service\n    │   │               │       └── MemberService.java\n    │   │               ├── message\n    │   │               │   ├── controller\n    │   │               │   │   └── MessageController.java\n    │   │               │   ├── dto\n    │   │               │   │   └── MessageDto.java\n    │   │               │   ├── entity\n    │   │               │   │   └── Message.java\n    │   │               │   ├── repository\n    │   │               │   │   ├── MessageDsl.java\n    │   │               │   │   ├── MessageDslImpl.java\n    │   │               │   │   └── MessageRepository.java\n    │   │               │   └── service\n    │   │               │       └── MessageService.java\n    │   │               ├── place\n    │   │               │   ├── controller\n    │   │               │   │   └── RecommendRouteController.java\n    │   │               │   ├── dto\n    │   │               │   │   ├── PlaceDetailResponseDto.java\n    │   │               │   │   ├── PlaceDto.java\n    │   │               │   │   └── RecommendRouteDto.java\n    │   │               │   ├── entity\n    │   │               │   │   └── Place.java\n    │   │               │   ├── repository\n    │   │               │   │   ├── PlaceRepository.java\n    │   │               │   │   ├── PlaceRepositoryCustom.java\n    │   │               │   │   └── PlaceRepositoryCustomImpl.java\n    │   │               │   └── service\n    │   │               │       ├── PlaceDistanceService.java\n    │   │               │       ├── PlaceService.java\n    │   │               │       └── RecommendRouteService.java\n    │   │               └── scheduler\n    │   │                   └── TripGroupCloseScheduler.java\n    │   └── resources\n    │       ├── application-secret.properties\n    │       └── application.yml\n    └── test\n        └── java\n            └── com\n                └── valuewith\n                    └── tweaver\n                        ├── TweaverApplicationTests.java\n                        ├── auth\n                        │   ├── controller\n                        │   │   └── AuthControllerTest.java\n                        │   └── service\n                        │       ├── AuthServiceTest.java\n                        │       └── EmailServiceTest.java\n                        ├── chat\n                        │   └── controller\n                        │       └── ChatRoomControllerTest.java\n                        ├── controller\n                        ├── group\n                        │   └── service\n                        │       └── TripGroupServiceTests.java\n                        ├── groupMember\n                        │   └── service\n                        │       └── GroupMemberApplicationServiceTest.java\n                        └── image\n                            └── service\n                                └── ImageServiceTest.java\n\n\n```\n\n\u003c/div\u003e\n\u003c/details\u003e\n\n## 사용 기술\n![spring boot](https://img.shields.io/badge/spring%20boot-6DB33F?style=for-the-badge\u0026logo=spring%20boot\u0026logoColor=white)\n![spring security](https://img.shields.io/badge/spring%20security-6DB33F?style=for-the-badge\u0026logo=spring%20security\u0026logoColor=white)\n![spring jpa](https://img.shields.io/badge/spring%20jpa-6DB33F?style=for-the-badge\u0026logo=spring%20jpa\u0026logoColor=white)\n\u003cbr /\u003e\n![stomp](https://img.shields.io/badge/stomp-000000?style=for-the-badge\u0026\u0026logoColor=white)\n![web socket](https://img.shields.io/badge/web%20socket-F56640?style=for-the-badge\u0026\u0026logoColor=white)\n![kakao mobility](https://img.shields.io/badge/kakao%20mobility-FFCD00?style=for-the-badge\u0026logo=kakao\u0026logoColor=black)\n![kakao login](https://img.shields.io/badge/kakao%20login-FFCD00?style=for-the-badge\u0026logo=kakao\u0026logoColor=black)\n\u003cbr /\u003e\n![mysql](https://img.shields.io/badge/mysql-4479A1?style=for-the-badge\u0026logo=mysql\u0026logoColor=white)\n![query dsl](https://img.shields.io/badge/query%20dsl-007DB8?style=for-the-badge\u0026logoColor=white)\n![jwt](https://img.shields.io/badge/jwt-FE2E9A?style=for-the-badge\u0026logoColor=white)\n\u003cbr /\u003e\n![redis](https://img.shields.io/badge/redis-DC382D?style=for-the-badge\u0026logo=redis\u0026logoColor=white)\n![gradle](https://img.shields.io/badge/gradle-02303A?style=for-the-badge\u0026logo=gradle\u0026logoColor=white)\n![junit](https://img.shields.io/badge/junit-25A162?style=for-the-badge\u0026logo=junit5\u0026logoColor=white)\n![postman](https://img.shields.io/badge/postman-FF6C37?style=for-the-badge\u0026logo=postman\u0026logoColor=white)\n\n## ERD\n![같이가치_2차_ERD_라이트](https://github.com/ValueWith/ValueWith_BE/assets/51254234/cf4573c2-92ec-4335-839a-52b198a67814)\n\n## WIKI\n- [Home](https://github.com/ValueWith/ValueWith_BE/wiki)\n- [트위버 구현 기능 (UseCase)](https://github.com/ValueWith/ValueWith_BE/wiki/%08%ED%8A%B8%EC%9C%84%EB%B2%84-%EA%B5%AC%ED%98%84-%EA%B8%B0%EB%8A%A5-(UseCase))\n- [트위버 규칙 \u0026 컨벤션](https://github.com/ValueWith/ValueWith_BE/wiki/%ED%8A%B8%EC%9C%84%EB%B2%84-%EA%B7%9C%EC%B9%99-\u0026-%EC%BB%A8%EB%B2%A4%EC%85%98)\n- [트위버 백엔드 API 명세서 (Notion 링크)](https://github.com/ValueWith/ValueWith_BE/wiki/%ED%8A%B8%EC%9C%84%EB%B2%84-%EB%B0%B1%EC%97%94%EB%93%9C-API-%EB%AA%85%EC%84%B8%EC%84%9C-(Notion-%EB%A7%81%ED%81%AC))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaluewith%2Fvaluewith_be","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaluewith%2Fvaluewith_be","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaluewith%2Fvaluewith_be/lists"}