jun108059 / daangn-market Goto Github PK
View Code? Open in Web Editor NEW당근마켓 클론코딩 🥕
당근마켓 클론코딩 🥕
카테고리 조회 API를 구현합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
카테고리 조회 | GET |
/api/v1/category/list | 홈 → 우측상단메뉴 홈 → 상품등록 → 카테고리 |
H2 DB를 MySQL 서버로 구성합니다.
env
파일로 구성해서 숨기기상품 상세 페이지에서 판매자 상품 모두보기 버튼 클릭 시 이동하는 판매자 상품 리스트 페이지를 개발합니다.
메인 홈 → 상품등록 페이지를 구성합니다.
AWS S3 연동
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}/ | 홈 → 마이페이지 → 관심목록 |
ControllerAdvice 활용한 AOP Exception handler 전역
좋아요 등록, 좋아요 삭제 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
좋아요 등록 | POST |
/api/v1/likes/{product_id} | 홈 → 상품상세 |
좋아요 삭제 | DELETE |
/api/v1/likes/{product_id} | 홈 → 상품상세 |
회원 정보 수정 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
회원 수정 | PUT |
/api/v1/member/{member_id} | 홈 → 마이페이지 → 프로필 수정 |
로그인 페이지를 구성하고 로그인 기능을 연동합니다.
로그인 완료 후 landing되는 Home 페이지를 구성합니다.
상품 등록/조회 API를 Bearer 토큰 기반으로 검사하도록 수정합니다.
나의 당근 → 판매내역 페이지를 구성합니다.
상품명 + 지역 검색 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
상품 검색 (지역) | GET |
/api/v1/product/search | 홈 → 검색버튼 |
Back-Log : 검색 성능 개선하기
상품 수정 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
상품 수정 | PUT |
/api/v1/product/{product_id} | 1) 홈 → 마이페이지 → 판매내역 → 거래상태변경 2) 홈 → 마이페이지 → 판매내역 → 게시글 수정 → 수정 완료 |
나의 당근 → 관심목록 페이지를 구성합니다.
상품 리스트 조회 API pagination 기능을 추가합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
상품 리스트 조회 | PUT |
/api/v1/product/list?{page}&{size} | 홈 |
Swagger API docs를 제공하기 위해 추가합니다.
상품 삭제 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
상품 삭제 | DELETE |
/api/v1/product/{product_id} | 홈 → 마이페이지 → 판매내역 → 게시글 삭제 |
상품 상세 조회 구현
뒤로가기 기능을 전체 적용합니다.
router.back()
vs router.go(-1)
router.back()
router.go(-1)
router.back()은 이전 페이지를 캐시된 버전을 사용하여 로드할 수 있으므로 더 빠르게 로드되는 경우가 있을 수 있음
반면, router.go(-1)은 이전 페이지를 항상 새로고침하여 로드하므로 느린 경우가 있을 수 있음
router.back() 적용!
이미지 업로드 로직을 변경, 수정 로직을 추가합니다.
회원가입 기능 구현
Vue.js
로 Front-end를 전환하여 분리합니다.
로그인 기능 구현
나의 당근 → 프로필 수정 페이지를 구성합니다.
상품 단건 조회 API
Description | Method | Endpoint | Page |
---|---|---|---|
상품 단건 조회 | GET |
/api/v1/product/{product_id} | 홈 → 상품상세 홈 → 마이페이지 → 판매내역 → 상품상세 |
마이페이지 기능 구현
회원 정보 조회 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
회원 조회 | GET | /api/v1/member/{member_id} | 홈 → 마이페이지 |
github action CI/CD 환경을 구축합니다.
AWS EC2, S3, CodeDeploy를 연동하여 서버를 구성합니다.
지역 리스트 조회 API를 개발합니다.
Description | Method | Endpoint | Page |
---|---|---|---|
지역 리스트 조회 | GET |
/api/v1/area/list | 시작하기 → 회원가입 → 지역 선택 |
로그인 및 상품 등록/조회 시 토큰 기반의 인증/인가 정책을 적용합니다
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.