백엔드 히히팀 wadiz 클론코딩
👟 프로젝트 소개
💗 팀 소개
🛠 기술 협업 tool 소개
🍰 ERD
🍓 Architecture
🥝 프로젝트 패키지 구조
🍉 프로젝트 실행 방법
크라우드 펀딩 플랫폼 서비스인 Wadiz
자금이 부족하거나 없는 사람들이 프로젝트를 인터넷에 공개하고 목표 금액과 모금 기간을 정하여 익명의 다수(crowd)로부터 투자를 받는 행위를 일컫는다.
-
사용자는 서포터와 메이커 두가지의 역할로서 와디즈 서비스에 참여할 수 있다.
-
메이커는 프로젝트를 개설하여 펀딩 하고자 하는 리워드를 등록하고, 펀딩 목표 금액, 프로젝트 마감일자 등을 등록하여 프로젝트를 런칭한다.
-
서포터는 메이커가 런칭한 프로젝트의 원하는 리워드를 선택하여 펀딩에 참여한다.
-
펀딩이 프로젝트 마감 일자 전까지 일정 금액 이상을 달성하면 주문이 정상 진행된다.
와디즈 펀딩 서비스를 클론 코딩하여 스프링,jpa를 적용한다.
프로젝트 기간 : 2023/0828 ~ 2023/09/22
https://www.notion.so/Team-6535d86acd9c4843b5f06d4d1d4375de
Product Owner | Scrum Master | Tech Leader | Mentor | Sub Mentor |
신예진 | 조재현 | 최준혁 | 히히 | 유민환 |
패키지 구조 확인하기
├── main
│ ├── java
│ │ └── com
│ │ └── prgrms
│ │ └── wadiz
│ │ ├── WadizApplication.java
│ │ ├── domain
│ │ │ ├── BaseEntity.java
│ │ │ ├── funding
│ │ │ │ ├── FundingCategory.java
│ │ │ │ ├── FundingStatus.java
│ │ │ │ ├── controller
│ │ │ │ │ └── FundingController.java
│ │ │ │ ├── dto
│ │ │ │ │ ├── request
│ │ │ │ │ │ ├── FundingCreateRequestDTO.java
│ │ │ │ │ │ └── FundingUpdateRequestDTO.java
│ │ │ │ │ └── response
│ │ │ │ │ └── FundingResponseDTO.java
│ │ │ │ ├── entity
│ │ │ │ │ └── Funding.java
│ │ │ │ ├── repository
│ │ │ │ │ └── FundingRepository.java
│ │ │ │ └── service
│ │ │ │ └── FundingService.java
│ │ │ ├── maker
│ │ │ │ ├── MakerStatus.java
│ │ │ │ ├── controller
│ │ │ │ │ └── MakerController.java
│ │ │ │ ├── dto
│ │ │ │ │ ├── MakerServiceDTO.java
│ │ │ │ │ ├── request
│ │ │ │ │ │ ├── MakerCreateRequestDTO.java
│ │ │ │ │ │ └── MakerUpdateRequestDTO.java
│ │ │ │ │ └── response
│ │ │ │ │ └── MakerResponseDTO.java
│ │ │ │ ├── entity
│ │ │ │ │ └── Maker.java
│ │ │ │ ├── respository
│ │ │ │ │ └── MakerRepository.java
│ │ │ │ └── service
│ │ │ │ └── MakerService.java
│ │ │ ├── order
│ │ │ │ ├── OrderStatus.java
│ │ │ │ ├── controller
│ │ │ │ │ └── OrderController.java
│ │ │ │ ├── dto
│ │ │ │ │ ├── request
│ │ │ │ │ │ └── OrderCreateRequestDTO.java
│ │ │ │ │ └── response
│ │ │ │ │ └── OrderResponseDTO.java
│ │ │ │ ├── entity
│ │ │ │ │ └── Order.java
│ │ │ │ ├── repository
│ │ │ │ │ └── OrderRepository.java
│ │ │ │ └── service
│ │ │ │ └── OrderService.java
│ │ │ ├── orderReward
│ │ │ │ ├── dto
│ │ │ │ │ ├── request
│ │ │ │ │ │ └── OrderRewardCreateRequestDTO.java
│ │ │ │ │ └── response
│ │ │ │ │ └── OrderRewardResponseDTO.java
│ │ │ │ └── entity
│ │ │ │ └── OrderReward.java
│ │ │ ├── post
│ │ │ │ ├── controller
│ │ │ │ │ └── PostController.java
│ │ │ │ ├── dto
│ │ │ │ │ ├── request
│ │ │ │ │ │ ├── PostCreateRequestDTO.java
│ │ │ │ │ │ └── PostUpdateRequestDTO.java
│ │ │ │ │ └── response
│ │ │ │ │ └── PostResponseDTO.java
│ │ │ │ ├── entity
│ │ │ │ │ └── Post.java
│ │ │ │ ├── repository
│ │ │ │ │ └── PostRepository.java
│ │ │ │ └── service
│ │ │ │ └── PostService.java
│ │ │ ├── project
│ │ │ │ ├── ProjectStatus.java
│ │ │ │ ├── condition
│ │ │ │ │ └── ProjectSearchCondition.java
│ │ │ │ ├── controller
│ │ │ │ │ └── ProjectController.java
│ │ │ │ ├── dto
│ │ │ │ │ ├── ProjectServiceDTO.java
│ │ │ │ │ └── response
│ │ │ │ │ ├── PagingDTO.java
│ │ │ │ │ ├── ProjectPageResponseDTO.java
│ │ │ │ │ ├── ProjectResponseDTO.java
│ │ │ │ │ └── ProjectSummaryResponseDTO.java
│ │ │ │ ├── entity
│ │ │ │ │ └── Project.java
│ │ │ │ ├── repository
│ │ │ │ │ ├── ProjectRepository.java
│ │ │ │ │ ├── ProjectRepositoryCustom.java
│ │ │ │ │ └── ProjectRepositoryImpl.java
│ │ │ │ └── service
│ │ │ │ └── ProjectUseCase.java
│ │ │ ├── reward
│ │ │ │ ├── RewardStatus.java
│ │ │ │ ├── RewardType.java
│ │ │ │ ├── controller
│ │ │ │ │ └── RewardController.java
│ │ │ │ ├── dto
│ │ │ │ │ ├── request
│ │ │ │ │ │ ├── RewardCreateRequestDTO.java
│ │ │ │ │ │ └── RewardUpdateRequestDTO.java
│ │ │ │ │ └── response
│ │ │ │ │ └── RewardResponseDTO.java
│ │ │ │ ├── entity
│ │ │ │ │ └── Reward.java
│ │ │ │ ├── repository
│ │ │ │ │ └── RewardRepository.java
│ │ │ │ └── service
│ │ │ │ └── RewardService.java
│ │ │ └── supporter
│ │ │ ├── SupporterStatus.java
│ │ │ ├── controller
│ │ │ │ └── SupporterController.java
│ │ │ ├── dto
│ │ │ │ ├── request
│ │ │ │ │ ├── SupporterCreateRequestDTO.java
│ │ │ │ │ └── SupporterUpdateRequestDTO.java
│ │ │ │ └── response
│ │ │ │ └── SupporterResponseDTO.java
│ │ │ ├── entity
│ │ │ │ └── Supporter.java
│ │ │ ├── repository
│ │ │ │ └── SupporterRepository.java
│ │ │ └── service
│ │ │ └── SupporterService.java
│ │ └── global
│ │ ├── annotation
│ │ │ ├── ApiErrorCodeExample.java
│ │ │ ├── EnumValidator.java
│ │ │ └── ValidEnum.java
│ │ ├── config
│ │ │ ├── CachingConfig.java
│ │ │ ├── ExampleHolder.java
│ │ │ ├── JpaAuditingConfig.java
│ │ │ ├── QueryDSLConfig.java
│ │ │ └── SwaggerConfig.java
│ │ └── util
│ │ ├── exception
│ │ │ ├── BaseException.java
│ │ │ ├── ErrorCode.java
│ │ │ └── GlobalExceptionHandler.java
│ │ └── resTemplate
│ │ ├── CommonCode.java
│ │ ├── ListResult.java
│ │ ├── ResponseFactory.java
│ │ ├── ResponseTemplate.java
│ │ └── SingleResult.java
│ └── resources
│ ├── application-dev.yml
│ ├── application-local.yml
│ └── application.yml
└── test
└── java
└── com
└── prgrms
└── wadiz
├── WadizApplicationTests.java
└── domain
├── funding
│ └── service
│ └── FundingServiceTest.java
├── maker
│ ├── controller
│ │ └── MakerControllerTest.java
│ └── service
│ └── MakerServiceTest.java
├── order
│ ├── controller
│ │ └── OrderControllerTest.java
│ └── service
│ └── OrderServiceTest.java
├── post
│ └── service
│ └── PostServiceTest.java
├── reward
│ ├── controller
│ │ └── RewardControllerTest.java
│ └── service
│ └── RewardServiceTest.java
└── supporter
├── controller
│ └── SupporterControllerTest.java
└── service
└── SupporterServiceTest.java
- github에서 프로젝트를 다운받는다.
https://github.com/prgrms-be-devcourse/BE-04-WadizLove.git
-
bootjar를 실행한다.
-
Query DSL 컴파일한다.
-
터미널에서 도커 컴포즈 빌드 명령어를 입력한다.
docker-compose up --build