MAU 1800만의 중고 거래 플랫폼 API를 재현해보기 위해 시작한 사이드 프로젝트입니다.
차별점으로 기존의 동네 단위의 서비스를 대학교 단위의 서비스로 바꿔보았습니다.
$ git clone [email protected]:h-jjang/bauction.git
# /baution
$ docker-compose up --build
- 당근 마켓의 MVP라 생각되는 부분에 대해서 서비스를 직접 분석하여 유사하게 구현
- 대용량 트래픽에도 장애없이 동작할 수 있는 코드, 가독성이 좋고 유지보수 쉬운 코드에 대해 고민
- 아래 4가지 항목 구현
- 객체지향적 설계
- SOLID
- 의존성 주입 (Dependency Injection)
- Thread-Safe
- N + 1 Issue (LAZY Loading, Fetch Join)
- Transaction
- 소셜 로그인
- 실시간 채팅
- 메일 비동기 전송
Backend
- Java 11
- Gradle 7.4.1
- Spring Boot 2.6.4
- Spring Security + OAuth 2.0
- Spring Data JPA + MySQL 5.7
- Log4j 2
- JUnit 5, Mockito, Jacoco, H2
- Swagger, Spring REST Docs
Frontend
- React.js
ETC
- Kakao Login
- Gmail
- AWS S3
- Docker
- NGINX
[등록]
- 카테고리 등록
- 게시글 등록 + 이미지 업로드
- 메일 알림 전송
- 거래 상태 등록 (대기)
[검색]
- 전체 게시글 검색
- 키워드 검색
- 키워드 + 필터 검색
[구매]
대화 → 예약 → 구매확정
- 대화 - STOMP 방식을 통한 실시간 채팅
- 예약 - 거래 상태 변경 (예약)
- 메일 알림 전송
- 구매 확정 - 거래 상태 변경 (승인)
- 메일 알림 전송
[삭제]
- 게시글 삭제
- 이미지 삭제
- 거래 상태 삭제
[소셜 로그인]
- 카카오 로그인
- 유저 토큰 발급
[대학교 인증]
- 메일 전송
- 인증 코드 입력
이름 | 개발분야 | 담당 | 소개페이지 |
---|---|---|---|
김영준 | BE, Team Lead | 게시글, 거래, 이미지 업로드 API, DB Design | 개인 리포로 이동 |
김기현 | BE | Security, OAuth, Chatting API, DB Design | 개인 리포로 이동 |
조윤근 | BE, DevOps | 검색, 메일 인증 API, Deploy, DB Design | 개인 리포로 이동 |
박근우 | BE | 카페고리 API, DB Design | 개인 리포로 이동 |