Skip to content

Requirements

park_so_young edited this page Feb 14, 2022 · 9 revisions

πŸ”¨Bare Minimum


πŸ‘¨β€πŸ‘¨β€πŸ‘§β€πŸ‘§ ν”„λ‘ νŠΈ/λ°±μ—”λ“œ

  • JWTλ₯Ό μ΄μš©ν•œ 둜그인 κ΅¬ν˜„
  • κΆŒν•œ λΆ€μ—¬(Authorization)에 λ”°λ₯Έ κΈ°λŠ₯의 μ ‘κ·Ό μ œν•œ κ΅¬ν˜„ (예- 일반 μ‚¬μš©μž, κ΄€λ¦¬μž κΆŒν•œ)
  • OAuth 2.0을 μ΄μš©ν•œ ꡬ글 둜그인 κ΅¬ν˜„
  • 검색 필터링 κΈ°λŠ₯
  • μœ„μΉ˜ 기반 κΈ°λŠ₯

πŸ‘©β€πŸ‘§ ν”„λ‘ νŠΈ

  • νšŒμ›κ°€μž…, 둜그인, λ‘œκ·Έμ•„μ›ƒ, λ§ˆμ΄νŽ˜μ΄μ§€, νšŒμ›νƒˆν‡΄ κΈ°λŠ₯ κ΅¬ν˜„
  • νšŒμ›κ°€μž…, 둜그인 및 νšŒμ›μ •λ³΄ μˆ˜μ • μ‹œ μœ νš¨μ„± 검사
  • μ†Œμ…œ 둜그인 μ™Έ μ„œλΉ„μŠ€ 자체 νšŒμ›κ°€μž… κΈ°λŠ₯ 제곡
  • νšŒμ›κ°€μž… 없이 'μ²΄ν—˜ν•˜κΈ°' ν˜•μ‹μœΌλ‘œ κ°€λ³κ²Œ κΈ°λŠ₯을 μ΄μš©ν•  수 μžˆλŠ” μž₯치 마련
  • λ§ˆμ΄νŽ˜μ΄μ§€λ₯Ό 톡해 μ‚¬μš©μž κ°œμΈμ •λ³΄ μˆ˜μ • κΈ°λŠ₯ 제곡
  • (μ†Œμ…œ 둜그인이 아닐 경우) λΉ„λ°€λ²ˆν˜Έ μˆ˜μ • κΈ°λŠ₯ 제곡
  • 라이브러리λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  React μ»΄ν¬λ„ŒνŠΈ 직접 μž‘μ„± (μœ μ–΄ν΄λž˜μŠ€μ—μ„œ 닀룬 것: νƒ­, λ“œλžλ‹€μš΄, λͺ¨λ‹¬ λ“±)
  • 3rd-party API 호좜
  • λͺ¨λ°”일 ν™˜κ²½ λŒ€μ‘ 및 λ°˜μ‘ν˜• μ›Ή

πŸ‘¨β€πŸ‘§ λ°±μ—”λ“œ

  • N:M (λ‹€λŒ€λ‹€) 관계 μ„€μ •
  • ERD (DB Diagram) μž‘μ„±
  • API μž‘μ„± 툴 (Gitbook API) 을 μ‚¬μš©ν•˜μ—¬ μš”μ²­/응닡 및 JSON ν‚€/κ°’ ν˜•μ‹ 기술

πŸ”¨Advanced


πŸ‘¨β€πŸ‘¨β€πŸ‘§β€πŸ‘§ ν”„λ‘ νŠΈ/λ°±μ—”λ“œ

  • TypeScript μ–Έμ–΄ μ‚¬μš©
  • νšŒμ› κ°€μž…μ‹œ 인증 메일 λ°œμ†‘

πŸ‘©β€πŸ‘§ ν”„λ‘ νŠΈ

  • μƒν’ˆ ν˜Ήμ€ 데이터λ₯Ό API둜 λ°›μ•„ μ™€μ„œ 리슀트 κ΅¬ν˜„
  • 지도 API μ‚¬μš© (μ˜€λ²„λ ˆμ΄, ν•€)
  • λ¬΄ν•œ 슀크둀
  • next.jsλ₯Ό μ‚¬μš©ν•œ Server Side Rendering 적용
  • React custom hook λ§Œλ“€μ–΄μ„œ μ“°κΈ°
  • νšŒμ› νƒˆν‡΄λ‚˜ λ¦¬μ†ŒμŠ€ μ‚­μ œμ‹œ 확인(confirm) λͺ¨λ‹¬ 제곡

πŸ‘¨β€πŸ‘§ λ°±μ—”λ“œ

  • ORM μ‚¬μš© (sequelize, typeorm ꢌμž₯)
  • κ·Όκ±°κ°€ λΆ„λͺ…ν•œ NoSQL λ„μž…
  • νŽ˜μ΄μ§€λ„€μ΄μ…˜ κ΅¬ν˜„

πŸ”¨ Nightmare


πŸ‘©β€πŸ‘§ ν”„λ‘ νŠΈ

  • 라이브러리λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  React μ»΄ν¬λ„ŒνŠΈ 직접 μž‘μ„± (μœ μ–΄ν΄λž˜μŠ€μ—μ„œ 닀루지 μ•Šμ€ 것)
  • μŠ€μΌ€μ₯΄λŸ¬(cron)에 μ˜ν•œ 메일 전솑

πŸ‘¨β€πŸ‘§ λ°±μ—”λ“œ

  • GraphQL μž₯점이 반영된 적용

πŸ”¨ DevOps


πŸ‘¨β€πŸ‘¨β€πŸ‘§β€πŸ‘§ ν”„λ‘ νŠΈ/λ°±μ—”λ“œ

  • [μ½”λ“œ] precommit λ‹¨κ³„μ—μ„œ semistandard 적용
  • [μ½”λ“œ] 버전 κ·œμΉ™ ν•©μ˜
  • [릴리즈] κΉƒν—ˆλΈŒ 컀밋메세지 κ·œμΉ™ ν•©μ˜
  • [릴리즈] PR ν˜•μ‹ ν•©μ˜

πŸ‘¨β€πŸ‘§ λ°±μ—”λ“œ

  • [배포] 배포 μžλ™ν™” μ„€μ •
  • [배포] 도메인 ꡬ맀 및 HTTPS 배포
  • [μ½”λ“œ] Dockerλ₯Ό μ΄μš©ν•œ κ°œλ°œν™˜κ²½ ꡬ좕 및 μ „ νŒ€μ›μ˜ 이용
  • [ν…ŒμŠ€νŠΈ] λ°±μ—”λ“œ ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„±