김도균 | 류원형 | 김형섭 | 정혜린 | 최민수 |
---|---|---|---|---|
@Ppajingae | @1hyung | @hysup | @DEVxMOON | @HifumiAlice |
- 프로젝트 이름: Made By.
- 프로젝트 지속기간: 2024.07.12 ~ 2024.08.22
- 개발 엔진 및 언어: Kotlin
아이디어는 있지만 대량 생산이 부담스러운 소상공인들이 직접 제작한 소량의 제품을 쉽게 판매하고, 구매자들이 다양한 아이디어 제품을 구매할 수 있도록 지원하는 플랫폼입니다. 관리자, 구매자, 판매자 간의 긴밀한 연결을 통해 원활한 거래 환경을 제공합니다.
배포용 링크: Made By
- 판매자(Seller):
- 아이디: seller1@gmail.com
- 비밀번호: qwer1234
- 구매자(Buyer):
- 아이디: test1@test.com
- 비밀번호: qwer1234
- 소규모의 다양한 상품을 쉽게 거래할 수 있는 플랫폼의 필요성
- 타겟 사용자:
- 일반 소비자(구매자)
- 소규모 사업자(판매자)
펼쳐서 보기
- 메인 화면: 최근 등록된 상품 리스트 제공.
- 상품 확인: 상품 이미지, 설명, 가격, 다른 구매자들이 작성한 리뷰와 평점 등의 상세 정보 을 통해 구매 결정 지원.
- 상품 검색: 시간, 가격순으로 상품을 검색하고 정렬할 수 있는 기능 제공.
- 회원가입 및 프로필 관리: 기본 정보 관리, 회원 탈퇴 기능.
- 상품 구매: 장바구니, 결제 및 배송지 관리.
- 구매 이력: 주문 내역 조회, 주문 상세 보기, 배송 추적.
- 리뷰: 상품 리뷰 작성 기능.
- 쿠폰 발급 : 쿠폰 발급 및 사용 가능
- 회원가입 및 프로필 관리: 판매자 정보 등록 및 인증 절차.
- 상품 등록: 상품 정보 등록, 수정, 삭제 기능.
- 백오피스: 판매, 재고, 주문 상태 관리.
- 쿠폰 기능 : 쿠폰 관리 (가격 및 할인율 쿠폰으로 관리 가능)
- 회원 관리: 판매자/구매자 계정 정보 조회 및 관리, 신고 처리.
- 승인 대기 회원 관리: 판매자 가입 승인/거부 관리.
펼쳐서 보기
src
├─main
│ ├─kotlin
│ │ └─com
│ │ └─highv
│ │ └─ecommerce
│ │ ├─common
│ │ │ ├─dto
│ │ │ ├─exception
│ │ │ │ ├─dto
│ │ │ │ └─handler
│ │ │ ├─image
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─innercall
│ │ │ ├─lock
│ │ │ │ └─service
│ │ │ └─type
│ │ ├─domain
│ │ │ ├─admin
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─auth
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ ├─entity
│ │ │ │ ├─oauth
│ │ │ │ │ ├─client
│ │ │ │ │ │ └─config
│ │ │ │ │ ├─Controller
│ │ │ │ │ ├─converter
│ │ │ │ │ ├─kakao
│ │ │ │ │ │ └─dto
│ │ │ │ │ └─naver
│ │ │ │ │ └─dto
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─backoffice
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ │ ├─productbackoffice
│ │ │ │ │ ├─salesstatics
│ │ │ │ │ └─sellerInfo
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─buyer
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ │ ├─request
│ │ │ │ │ └─response
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─coupon
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ ├─entity
│ │ │ │ ├─enumClass
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─favorite
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─item_cart
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ │ ├─request
│ │ │ │ │ └─response
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─order_details
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ ├─entity
│ │ │ │ ├─enumClass
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─order_master
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─product
│ │ │ │ ├─category
│ │ │ │ │ ├─controller
│ │ │ │ │ ├─dto
│ │ │ │ │ ├─entity
│ │ │ │ │ ├─repository
│ │ │ │ │ └─service
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─review
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ └─seller
│ │ │ ├─controller
│ │ │ ├─dto
│ │ │ ├─entity
│ │ │ ├─repository
│ │ │ ├─service
│ │ │ └─shop
│ │ │ ├─dto
│ │ │ ├─entity
│ │ │ └─repository
│ │ └─infra
│ │ ├─email
│ │ │ └─config
│ │ ├─mongodb
│ │ ├─queryDSL
│ │ ├─redis
│ │ │ ├─config
│ │ │ └─redisson
│ │ ├─s3
│ │ │ └─config
│ │ ├─security
│ │ │ └─jwt
│ │ └─swagger
│ └─resources
펼쳐서 보기
- 메인 화면
- 최근 상품 리스트:
- 최신 상품 제공.
- 최근 상품 리스트:
- 상품 확인
- 상세 정보 보기:
- 상품의 이미지, 설명, 가격 등을 상세히 제공.
- 리뷰 및 평점 보기:
- 다른 구매자들이 작성한 리뷰와 평점을 통해 신뢰성 있는 구매 결정을 지원.
- 상세 정보 보기:
- 상품 검색
- 필터 및 정렬 기능:
- 사용자가 상품을 이름, 가격, 최신 순으로 검색하고 정렬할 수 있는 기능 제공.
- 필터 및 정렬 기능:
- 회원가입 및 프로필 관리
- 회원가입:
- 기본 정보 입력 및 이메일 인증 절차를 통해 회원가입 진행.
- 프로필 관리:
- 사용자 정보를 수정할 수 있는 기능 제공.배송지 정보 및 연락처 관리.
- 회원 탈퇴:
- 간편한 회원 탈퇴 절차를 통해 사용자에게 선택권 제공.
- 회원가입:
- 상품 구매 기능
- 장바구니:
- 사용자가 선택한 상품을 저장하고 결제 전 확인할 수 있는 기능.
- 배송지 관리:
- 여러 배송지를 등록하고 선택할 수 있는 기능 제공.
- 장바구니:
- 구매 이력 확인
- 주문 내역 조회:
- 사용자가 과거의 주문 정보를 쉽게 확인할 수 있는 기능.
- 주문 상세 보기:
- 특정 주문에 대한 상세 정보 제공.
- 주문 내역 조회:
- 리뷰 및 피드백
- 상품 리뷰 작성:구매자가 상품에 대한 평점과 리뷰를 남길 수 있는 기능.
- 쿠폰 발급 기능
- 판매자가 등록한 쿠폰을 발급 및 결제시 사용이 가능한 기능
- 쿠폰 사용시 할인가가 적용된 금액만큼 차감 결제
- 회원가입 및 프로필 관리 기능
- 회원가입:
- 판매자 전용 정보 입력 및 인증 절차를 통해 회원가입.
- 상점 정보:
- 상점명, 발송지 정보, 전화번호 등을 등록할 수 있는 기능.
- 인증 절차:
- 이메일 인증을 통해 신뢰성 있는 판매자 등록.
- 회원가입:
- 상품 등록 관련
- CREATE:
- 판매자가 상품 정보를 등록할 수 있는 기능.
- UPDATE:
- 판매 중인 상품 정보를 수정할 수 있는 기능 제공. 일부 필드는 절대 수정 불가 설정.
- DELETE:
- 판매자가 상품 정보를 삭제할 수 있는 기능.
- CREATE:
- 백오피스 기능
- 판매 및 재고 현황:
- 판매 품명, 가격, 총 판매량, 매출, 잔여 재고 등을 한눈에 볼 수 있는 대시보드 제공.
- 주문 상태 관리:
- 구매자로부터 들어온 주문의 상태를 확인하고, 주문 처리를 위한 다음 단계로 진행할 수 있는 기능.
- 판매 및 재고 현황:
- 쿠폰 기능 :
- 쿠폰 관리 (가격 및 할인율 쿠폰으로 관리 가능)
- 쿠폰은 최대 40% 까지 할인 가능, 가격으로는 최대 50000원 까지 할인 가능
- 회원 관리:
- 판매자 및 구매자 계정의 정보를 조회하고 상태를 관리.
- 필요 시 사용자 신고 처리 및 제재 조치 가능.
- 승인 대기 회원 관리:
- 판매자 회원가입 승인 및 거부를 관리하여 신뢰성 있는 플랫폼 운영.
-
상품페이지
-
결제
-
환불
-
마이페이지
-
찜하기
-
리뷰
-
필터
-
장바구니
-
쿠폰
-
상품 삭제
-
상품 생성
-
상품, 수량, 가격 수정 및 쿠폰 등록
-
환불 승인, 거절
-
주문 상태 관리
-
판매자 백오피스
-
승인 대기 판매자 관리
-
블랙리스트 관리
6주 마일스톤:
-
1주차 : 프로젝트 기획 및 기본 CRUD 개발
-
2주차 : 구체적인 기능 개발 , 캐싱 처리 및 코드 리펙터링 진행
-
3주차 : 프론트앤드 개발 및 1차 서버 배포 진행
-
4주차 : 동시성 제어 및 성능 테스트 진행 & 추가 적인 기능 개발
-
5주차 : 2차 배포 및 성능 최적화 작업 , 버그 수정
-
6주차 : 최종 배포 및 발표 준비
기본 기능 구현 후 FE와 연결 및 FE+BE 배포
- Language: Kotlin
- Framework: Spring Boot
- IDE: IntelliJ Community Edition
- JDK: Temurin-17
- Database: MySQL 8.0.35
여러분들이 많이 도와주신 덕분에 무사히 팀장 역할을 수행 할 수 있었던 것 같습니다 정말 감사합니다 덕분에 정말 많이 배웠고 깨달았습니다 나중에 현업에서 다들 좋은 모습으로 뵙겠습니다!!
부트캠프에 참여하면서 처음으로 코드를 접하게 되었고, 이번 프로젝트를 통해 많은 새로운 기술들을 처음으로 적용해보았습니다. Spring Framework, Kotlin 문법, JPA, SQL 쿼리, Redis 등 다양한 기술을 접하며 공부할 수 있는 좋은 기회가 되었지만, 동시에 많은 어려움과 부족함을 느꼈습니다.
이 과정에서 팀원들로부터 많은 것을 배울 수 있었고, 더 나은 개발자가 되기 위해 제 부족한 부분을 파악하고 이를 추후에 보완해야겠다는 생각을 많이 하게 되었습니다.
함께해 준 팀원들에게 깊은 감사의 마음을 전하며, 앞으로 저도 성장하여 팀에 기여할 수 있는 개발자가 되고 싶습니다.
기능구현에서 어려움이 많았지만 팀원들 덕분에 잘 해결할수 있었고 많이 배웠다고 생각합니다
이번 6주간의 프로젝트를 통해 개발자로서 기본적으로 갖추어야 할 역량이 무엇인지 깊이 깨닫는 시간을 가진 것 같습니다. 이 프로젝트를 통해 spring framework, kotlin 문법, JPA, SQL 쿼리, Redis 등 다양한 기술을 접하고 공부할 수 있는 좋은 기회가 되었습니다. 팀원들과 함께 프로젝트를 완성해 나가면서, 무언가를 창조하고 그 결과물이 눈앞에 보이는 것이 얼마나 큰 보람인지 실감할 수 있었습니다. 역시 프로젝트의 진행에는 기술뿐만 아니라 커뮤니케이션 능력도 매우 중요단 점도 느끼게 되었구요.
이번 프로젝트에서는 부족한 점도 많았다고 느꼈지만, 매번 이렇게 쌓여가는 경험들이 저를 더 나은 개발자로 성장시켜 줄 것이라 생각하고 있습니다. 다음 프로젝트에서는 한층 더 발전한 모습이겠죠?(///)
마지막으로, 팀원들 모두에게 진심으로 감사의 인사를 전합니다.
쿼리를 줄이는 작업이;;; 즐거웠습니다.