/TodaysHouse-Server

SoftSquared RC 1기 - 🏑TodaysHouse-Server Clone Coding Project

Primary LanguageJavaScript

TodayHouse-Server

Introduce

μ˜€λŠ˜μ˜μ§‘ μ„œλ²„ 클둠코딩 ν”„λ‘œμ νŠΈ

ERD

Tech

  • Server: AWS EC2
  • DateBase: AWS RDS
  • Node.js, MySQL, express

적용 기술

Directory Structure

config
 β”œβ”€β”€ baseResponseStatus.js
 β”œβ”€β”€ express.js
 β”œβ”€β”€ jwtMiddleware.js
 β”œβ”€β”€ limiter.js
 β”œβ”€β”€ redis.js
 β”œβ”€β”€ response.js
 └── winston.js
src
 └── app
      β”œβ”€β”€ Post
      |    β”œβ”€β”€ postController.js
      |    β”œβ”€β”€ postDao.js
      |    β”œβ”€β”€ postProvider.js
      |    β”œβ”€β”€ postRoute.js
      |    └── postService.js
      β”œβ”€β”€ Store
      |    β”œβ”€β”€ storeController.js
      |    β”œβ”€β”€ storeDao.js
      |    β”œβ”€β”€ storeProvider.js
      |    β”œβ”€β”€ storeRoute.js
      |    └── storeService.js 
      └── User
           β”œβ”€β”€ userController.js
           β”œβ”€β”€ userDao.js
           β”œβ”€β”€ userProvider.js
           β”œβ”€β”€ userRoute.js
           └── userService.js
.gitignore
index.js
package.json

API list

  1. POST /app/sign-up μœ μ € 생성 API (νšŒμ›κ°€μž…)
  2. POST /app/login 둜그인 API
  3. GET /app/users/:userId/mypages μœ μ € λ§ˆμ΄νŽ˜μ΄μ§€ 정보 쑰회 API
  4. GET /app/users/:userId/profiles λ‹€λ₯Έ μœ μ € νŽ˜μ΄μ§€ 정보 쑰회 API
  5. POST /app/login/kakao 카카였 μ†Œμ…œ 둜그인 API
  6. PATCH /app/users/:userId/profiles ν”„λ‘œν•„ μˆ˜μ • API
  7. POST /app/users/:userId/scrap-folders 슀크랩 폴더 생성 API
  8. PATCH /app/users/:userId/scrap-folders 슀크랩 폴더 μˆ˜μ • API (μ‚­μ œ/μˆ˜μ • querystring)
  9. POST /app/users/:userId/scraps 슀크랩 API (집듀이/μƒν’ˆ querystring)
  10. GET /app/users/:userId/scraps 슀크랩 쑰회 API
  11. POST /app/users/:userId/likes μ’‹μ•„μš” API
  12. GET /app/users/:userId/likes μ’‹μ•„μš” 쑰회 API
  13. POST /app/users/:userId/follows νŒ”λ‘œμš° API
  14. GET /app/users/:userId/follows νŒ”λ‘œμš° 쑰회 API(νŒ”λ‘œμ›Œ/νŒ”λ‘œμž‰ querystring)
  15. POST /app/users/:userId/comments λŒ“κΈ€ 달기 API
  16. PATCH /app/users/:userId/comments λŒ“κΈ€ μ‚­μ œ API
  17. GET /app/posts/popular 인기탭 쑰회 API
  18. GET /app/posts/housewarms 전체 집듀이 κ²Œμ‹œκΈ€ 쑰회 API(querystring)
  19. GET /app/posts/housewarms/:houseWarmId 집듀이 κ²Œμ‹œλ¬Ό 쑰회 API
  20. GET /app/posts κ²Œμ‹œλ¬Ό 톡합 검색 API(querystring)
  21. GET /app/users/:userId/store-categories μŠ€ν† μ–΄ν™ˆ μΉ΄ν…Œκ³ λ¦¬ 쑰회 API
  22. GET /app/products/categories μΉ΄ν…Œκ³ λ¦¬ 별 μƒν’ˆ 쑰회 API (μΉ΄ν…Œκ³ λ¦¬, μ •λ ¬μš°μ„ μˆœμœ„ querystring)
  23. GET /app/products/users/:userId μŠ€ν† μ–΄ νŠΉμ • μƒν’ˆ 쑰회 API
  24. GET /app/products/best 베슀트 μƒν’ˆ 쑰회 API (μ‹€μ‹œκ°„/μ—­λŒ€(μΉ΄ν…Œκ³ λ¦¬) querystring)
  25. POST /app/users/:userId/inquiry 문의 생성 API
  26. GET /app/products/:productId/inquiry 문의 쑰회 API
  27. GET /app/products/:productId/info 배솑/κ΅ν™˜/ν™˜λΆˆ 정보 쑰회 API
  28. POST /app/users/:userId/orders μ£Όλ¬Έ 생성 API
  29. POST /app/users/:userId/reviews 리뷰 μž‘μ„± API
  30. GET /app/products/:productId/reviews μƒν’ˆ 리뷰 더보기 쑰회 API
  31. GET /app/auto-login μžλ™ 둜그인 API
  32. GET /app/emails 이메일 쀑볡 체크 API
  33. GET /app/nicknames λ‹‰λ„€μž„ 쀑볡 체크 API
  34. GET /app/passwords λΉ„λ°€λ²ˆν˜Έ 확인 API
  35. GET /app/users/:userId/myshopping λ‚˜μ˜ μ‡Όν•‘ 정보 쑰회 API
  36. GET /app/users/:userId/orders μ£Όλ¬Έ/배솑 쑰회 API
  37. PATCH /app/users/:userId/password λΉ„λ°€λ²ˆν˜Έ λ³€κ²½ API
  38. GET /app/backemails 이메일 λ’·μžλ¦¬ 쑰회 API
  39. GET /app/users/:userId/coupons μ‚¬μš©κ°€λŠ₯ 쿠폰 쑰회 API
  40. GET /app/requests 배솑 μš”μ²­μ‚¬ν•­ 쑰회 API
  41. POST /app/users/:userId/helped-reviews 리뷰 도움 API
  42. GET /app/housewarms/:houseWarmId/comments 집듀이 λŒ“κΈ€ 쑰회 API
  43. GET /app/housewarms/:houseWarmId/status 집듀이 μ’‹μ•„μš”, 슀크랩, λŒ“κΈ€, 쑰회수 쑰회 API
  44. GET /app/housewarms/:houseWarmId/similar λΉ„μŠ·ν•œ 집듀이 쑰회 API
  45. GET /app/users/:userId/recent-products μŠ€ν† μ–΄ ν™ˆ μ΅œκ·Όμ— λ³Έ μƒν’ˆ 쑰회 API
  46. GET /app/users/:userId/recent-similar μŠ€ν† μ–΄ ν™ˆ 졜근 λ³Έ μƒν’ˆκ³Ό λΉ„μŠ·ν•œ μƒν’ˆ 쑰회 API
  47. GET /app/uses/:userId/popular-keywords μŠ€ν† μ–΄ ν™ˆ 인기 ν‚€μ›Œλ“œ 쑰회 API
  48. GET /app/users/:userId/popular-products μŠ€ν† μ–΄ ν™ˆ 인기 μƒν’ˆ 쑰회 API
  49. GET /app/products/styling-shot νŠΉμ • μƒν’ˆ μŠ€νƒ€μΌλ§ μƒ· 쑰회 API
  50. GET /app/products/reviews νŠΉμ • μƒν’ˆ 리뷰 쑰회 API
  51. GET /app/products/inquiries νŠΉμ • μƒν’ˆ 문의 갯수 쑰회 API
  52. GET /app/products/similars νŠΉμ • μƒν’ˆ λΉ„μŠ·ν•œ μƒν’ˆ 쑰회 API
  53. GET /app/users/:userId/current-orders λ‚˜μ˜ μ‡Όν•‘ μ£Όλ¬Έ ν˜„ν™© 쑰회 API
  54. GET /app/users/:userId/shopping-status λ‚˜μ˜ μ‡Όν•‘ 슀크랩뢁, 문의, 쑰회 수 쑰회 API
  55. GET /app/users/:userId/mypage-shopping λ§ˆμ΄νŽ˜μ΄μ§€ λ‚˜μ˜ μ‡Όν•‘ 쑰회 API
  56. GET /app/users/:userId/mypage-scrap λ§ˆμ΄νŽ˜μ΄μ§€ 슀크랩 쑰회 API
  57. GET /app/usres/:userId/mypage-housewarm λ§ˆμ΄νŽ˜μ΄μ§€ 집듀이 쑰회 API
  58. GET /app/users/:userId/mypage-reviewcount λ§ˆμ΄νŽ˜μ΄μ§€ 리뷰수 쑰회 API
  59. GET /app/users/:userId/otherpage-housewarm λ‹€λ₯Έ μœ μ € νŽ˜μ΄μ§€ 집듀이 쑰회 API
  60. GET /app/users/:userId/otherpage-scrap λ‹€λ₯Έ μœ μ € νŽ˜μ΄μ§€ 슀크랩 쑰회 API
  61. GET /app/posts/housewarms-products/:houseWarmId 집듀이 κ²Œμ‹œλ¬Ό ν¬ν•¨λœ λͺ¨λ“  μƒν’ˆ 쑰회API

** GET /app/push 맀 μ •μ‹œλ§ˆλ‹€ ν‘Έμ‹œ μ•Œλ¦Ό API