Skip to content

πŸ“œ Week 2

Chun Hwa Park edited this page Nov 8, 2021 · 3 revisions

λ…Όμ˜ 주제

  • DB μ„ μ •
    • MySQL + MongoDB
    • 개발 λ‹¨κ³„μ—μ„œλŠ” 도컀λ₯Ό μ‚¬μš©ν•˜κ³ , 배포 μ‹œμ—λŠ” DB μ„œλ²„λ₯Ό μ‚¬μš©ν•  μ˜ˆμ •
  • 무쀑단 배포 적용?
    • Dockerλ₯Ό μ‚¬μš©ν•˜λ‹ˆκΉŒ 무쀑단 배포λ₯Ό κ΅¬ν˜„ κ°€λŠ₯
    • Container 2개λ₯Ό μƒμ„±ν•˜κ³ , Shell Script둜 μ»¨ν…Œμ΄λ„ˆ μƒνƒœλ₯Ό 확인
    • 이번 μ£Ό μ€‘μœΌλ‘œ κΌ­ κ΅¬ν˜„ν•΄μ•Όν•  λͺ©ν‘œ?
  • 문제 채점 κΈ°λŠ₯ κ΅¬ν˜„μ„ API? μ›Ή μ†ŒμΌ“?
    • API μš”μ²­μ„ λ³΄λ‚΄μ„œ μ²˜λ¦¬ν•˜λŠ” κ²½μš°μ— UX κ΄€μ μ—μ„œ 쒋지 μ•ŠμŒ
      • μ²˜λ¦¬ν•΄μ•Όν•  양이 λ§Žμ€ κ²½μš°μ—λŠ” μ‚¬μš©μžκ°€ λ¬΄ν•œμ • λŒ€κΈ°ν•΄μ•Όν•˜λŠ” κ²½μš°κ°€ 생김
    • λŒ€κΈ° 큐 + μ›Ή μ†ŒμΌ“μœΌλ‘œ κΈ°λŠ₯ κ΅¬ν˜„ κ²°μ •

개발 방식

두 νŒ€(ν”„λ‘ νŠΈ,λ°±)으둜 λ‚˜λˆ„μ–΄ 개발 진행 μ½”λ“œ 리뷰 μ² μ €!

κ΅¬ν˜„ κ³„νš

  • Frontend
    • styled component 상속 κΈ°λŠ₯, props callback κΈ°λŠ₯

    • iframe sandbox 적용

    • mock, fake API 제곡 (비동기 처리, ν•¨μˆ˜ 호좜 좔적)

      https://github.com/sinonjs/sinon

      https://github.com/sinonjs/fake-timers

    • 둜그인 νŽ˜μ΄μ§€ layout 및 둜그인 κΈ°λŠ₯ κ΅¬ν˜„

    • 문제 좜제 νŽ˜μ΄μ§€ layout 및 API μš”μ²­ κΈ°λŠ₯ κ΅¬ν˜„

    • 문제 풀이 νŽ˜μ΄μ§€ UX κ°œμ„  (ν™”λ©΄ μ‘°μ •, 슀크둀)

  • Backend
    • Mysql + MongoDB 연동
    • TypeORM 적용
    • νšŒμ› 정보, λ¬Έμ œμ— λŒ€ν•œ data type 섀계
    • 폴더 ꡬ쑰
    • API 섀계 및 κ΅¬ν˜„
    • 문제 채점 κΈ°λŠ₯ κ΅¬ν˜„μ— μ›Ή μ†ŒμΌ“ μ‚¬μš©
      • λŒ€κΈ° 큐 κ΅¬ν˜„
    • 둜그인 κΈ°λŠ₯
    • CI / CD - main 브랜치 push 트리거
    • ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„± (Jest)
  • λ°œν‘œ 컨셉, 주제 μ •ν•˜κΈ°
  • 데λͺ¨ μ˜μƒ λ…Ήν™”
    • λ°œν‘œλŠ” λ‚˜λˆ μ„œ λ‹€ 같이
    • 데λͺ¨ μ‹œλ‚˜λ¦¬μ˜€λŒ€λ‘œ μ˜μƒ λ…Ήν™”(λͺ©μ†Œλ¦¬ λ…ΉμŒ)

λͺ©ν‘œ

  • λ°±κ³Ό ν”„λ‘ νŠΈ 연동 후에도 κΈ°λ³Έ μ„œλΉ„μŠ€κ°€ μ›ν™œν•˜κ²Œ μž‘λ™ν•˜λ„λ‘ κ΅¬ν˜„ν•˜μž.
  • 둜그인, 문제 좜제, 문제 ν’€μ΄κΉŒμ§€ μž‘μ„±ν•œ 데λͺ¨ μ‹œλ‚˜λ¦¬μ˜€μ— 따라 κΈ°λŠ₯을 λͺ¨λ‘ 보여쀄 수 μžˆμ„ μ •λ„λ‘œ κ΅¬ν˜„ν•˜μž.

데λͺ¨ μ‹œλ‚˜λ¦¬μ˜€

  1. μ‚¬μš©μžκ°€ URL에 μ ‘μ†ν•˜λ©΄ ν™ˆ νŽ˜μ΄μ§€λ₯Ό 보여쀀닀.
  2. μ‚¬μš©μžκ°€ 둜그인 λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ Github OAuth둜 λ‘œκ·ΈμΈμ„ ν•˜κΈ° μœ„ν•΄ ν•΄λ‹Ή νŽ˜μ΄μ§€λ‘œ λ¦¬λ‹€μ΄λ ‰μ…˜λœλ‹€.
  3. μ‚¬μš©μžκ°€ λ‘œκ·ΈμΈμ„ ν•˜λ©΄ 문제 리슀트 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•œλ‹€.
  4. μ‚¬μš©μžκ°€ 문제 좜제 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜μ—¬ 문제λ₯Ό μΆœμ œν•œλ‹€.
  5. μ‚¬μš©μžκ°€ 문제 리슀트 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜μ—¬ 방금 μΆœμ œν•œ 문제의 문제 풀이 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•œλ‹€.
  6. μ‚¬μš©μžκ°€ μΆœμ œν•œ 문제λ₯Ό ν’€μ΄ν•œλ‹€.
Clone this wiki locally