4학년 1학기 때 만든 프로젝트를 리팩토링해보려한다!
회사 다니고 있는 동기언니랑 같이 하려는! 우리의 포테토마켓웹사이트 만들기!
주제 및 개요
- 당근 마켓을 모티브 한 거래 플랫폼 개발
세부기능
- 메인 화면 : 신상품 추천
- 직거래, 공동 구매 : 등록/수정/삭제, 구매 예약, 관심 항목 추가/삭제, 장바구니
추가/삭제, 구매
- 경매 : 등록/수정/삭제, 관심 항목 추가/삭제, 입찰, 낙찰 및 장바구니 추가, 낙찰
포기, 후순위자 낙찰, 구매
- 회원 간 메세지
- 카테고리 별 상품 검색
- 회원 관리 : 회원 가입/로그인, 회원 정보 수정, 관심 항목/구매 내역/등록 및 판매
내역 조회
[회의 결과]
기존 Eclipse 를 이용하였지만 IntelliJ 를 이용하여 만들어 보기로 했다.
# 2022.05.21 #
Potato Market Project refactoring Start
# 개선점 찾기
1. 패키지 구조
As Is
- 현재 큰 프로젝트안에 컨트롤러, 서비스, 도메인 패키지가 존재하고 모든 파일이 해당 패키지에 때려박아져 있음
To Be
- 큰 틀의 객체를 기준으로 상위 패키지를 구성하고 하위에 컨트롤러, 서비스, 모델이 들어가도록 설정한다.
- Account(회원가입, 로그인-소셜로그인, 회원정보 수정, 장바구니 등)
- Order(각종 구매, 주문 내역)
- Item(상품 등록, 수정, 삭제, 판매 내역)
- Chat
- * 디비 스키마가 정해지면 구체화될 예정
1. 디비 스키마
** 우선 각자 생각해서 개선점을 찾아 디비 스키마 작성하고 27일에 다시 회의 예정 **
1. MyBatis
Mybatis가 아닌 jpa를 활용해보자
1. MySQL을 그대로 사용하는 것이 좋을지 고민해보기
1. 도메인 활용이 필요할듯!
As Is
- 기존의 모든 타입에 대한 객체들을 독립적인 객체로 설계
- 덩달아 서비스단도 따로 놀고 있음
To Be
- 공통적인 부분( 제목, 가격, 상세 설명 등) 을 추출해 abstract클래스 Item을 만들고 중고거래, 경매, 공동구매에 해당하는 자식 클래스를 만들어서 상속받게 함
- 아이템 관련 서비스를 인터페이스로 정의
- 서비스에서는 트랜잭션을 관리하도록 하고 Reader나 Store같은 컴포넌트를 활용
1. 사진업로드
AWS - S3 공부가 필요해보임
1. 결제
결제 서버 - MSA 개발 여건이 된다면 해보면 좋을 듯
우리가 개발한 것
https://drive.google.com/file/d/1SOKopOyTmkz2eivGYQqR-nkL6Nxd91oa/view?usp=sharing
potatoMarket.mp4
drive.google.com
'공부 > 개발일지' 카테고리의 다른 글
[Refactoring -5] (0) | 2022.06.22 |
---|---|
[Refactoring-4] (0) | 2022.06.13 |
[Spring 리팩토링 프로젝트] Potato Market Refactoring Project -3 (0) | 2022.06.08 |
[Spring 리팩토링 프로젝트] Potato Market Project Refactoring-2 (0) | 2022.05.30 |
[안드로이드스튜디오]material-calenderView 사용법(초기설정) (0) | 2021.08.11 |