jun108059 / daangn-market Goto Github PK
View Code? Open in Web Editor NEW당근마켓 클론코딩 🥕
당근마켓 클론코딩 🥕
회원가입 기능 구현
뒤로가기 기능을 전체 적용합니다.
router.back()
vs router.go(-1)
router.back()
router.go(-1)
router.back()은 이전 페이지를 캐시된 버전을 사용하여 로드할 수 있으므로 더 빠르게 로드되는 경우가 있을 수 있음
반면, router.go(-1)은 이전 페이지를 항상 새로고침하여 로드하므로 느린 경우가 있을 수 있음
router.back() 적용!
메인 홈 → 상품등록 페이지를 구성합니다.
좋아요 등록, 좋아요 삭제 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
좋아요 등록 | POST |
/api/v1/likes/{product_id} | 홈 → 상품상세 |
좋아요 삭제 | DELETE |
/api/v1/likes/{product_id} | 홈 → 상품상세 |
로그인 및 상품 등록/조회 시 토큰 기반의 인증/인가 정책을 적용합니다
카테고리 조회 API를 구현합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
카테고리 조회 | GET |
/api/v1/category/list | 홈 → 우측상단메뉴 홈 → 상품등록 → 카테고리 |
상품 상세 조회 구현
나의 당근 → 관심목록 페이지를 구성합니다.
AWS S3 연동
이미지 업로드 로직을 변경, 수정 로직을 추가합니다.
나의 당근 → 프로필 수정 페이지를 구성합니다.
회원 정보 수정 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
회원 수정 | PUT |
/api/v1/member/{member_id} | 홈 → 마이페이지 → 프로필 수정 |
회원 정보 조회 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
회원 조회 | GET | /api/v1/member/{member_id} | 홈 → 마이페이지 |
지역 리스트 조회 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
지역 리스트 조회 | GET |
/api/v1/area/list | 시작하기 → 회원가입 → 지역 선택 |
로그인 완료 후 landing되는 Home 페이지를 구성합니다.
상품 상세 페이지에서 판매자 상품 모두보기 버튼 클릭 시 이동하는 판매자 상품 리스트 페이지를 개발합니다.
ControllerAdvice 활용한 AOP Exception handler 전역
로그인 페이지를 구성하고 로그인 기능을 연동합니다.
상품 수정 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
상품 수정 | PUT |
/api/v1/product/{product_id} | 1) 홈 → 마이페이지 → 판매내역 → 거래상태변경 2) 홈 → 마이페이지 → 판매내역 → 게시글 수정 → 수정 완료 |
Vue.js
로 Front-end를 전환하여 분리합니다.
로그인 기능 구현
github action CI/CD 환경을 구축합니다.
AWS EC2, S3, CodeDeploy를 연동하여 서버를 구성합니다.
상품명 + 지역 검색 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
상품 검색 (지역) | GET |
/api/v1/product/search | 홈 → 검색버튼 |
Back-Log : 검색 성능 개선하기
상품 등록/조회 API를 Bearer 토큰 기반으로 검사하도록 수정합니다.
나의 당근 → 판매내역 페이지를 구성합니다.
상품 삭제 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
상품 삭제 | DELETE |
/api/v1/product/{product_id} | 홈 → 마이페이지 → 판매내역 → 게시글 삭제 |
상품 리스트 조회 API pagination 기능을 추가합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
상품 리스트 조회 | PUT |
/api/v1/product/list?{page}&{size} | 홈 |
H2 DB를 MySQL 서버로 구성합니다.
env
파일로 구성해서 숨기기Swagger API docs를 제공하기 위해 추가합니다.
상품 단건 조회 API
Description | Method | Endpoint | Page |
---|---|---|---|
상품 단건 조회 | GET |
/api/v1/product/{product_id} | 홈 → 상품상세 홈 → 마이페이지 → 판매내역 → 상품상세 |
Description | Method | Endpoint | Page |
---|---|---|---|
상품 전체 조회 (지역) | GET | /api/v1/product/list | 홈 |
상품 전체 조회 (지역+카테고리) | GET | /api/v1/product/list?{category_id} | 홈 → 우측상단메뉴 → 카테고리선택 |
상품 전체 조회 (특정회원+거래상태) | GET | /api/v1/product/list/{member_id}&{status} | 홈 → 상품상세 홈 → 상품상세 → 모두보기 홈 → 마이페이지 → 판매내역 |
상품 전체 조회 (특정회원+좋아요+거래상태) | GET | /api/v1/product/list/{member_id}&{likes}&{status}/ | 홈 → 마이페이지 → 관심목록 |
마이페이지 기능 구현
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.