Search

duobody

진행기간
2021/03/11 β†’ 2021/04/23
μ—­ν• 
λ°±μ—”λ“œ
속성
MVP
APP
μ„œλΉ„μŠ€ μƒνƒœ
μ„œλΉ„μŠ€ μ’…λ£Œ

ν”„λ‘œμ νŠΈ μ†Œκ°œ

ν—¬μŠ€ νŠΈλ ˆμ΄λ„ˆμ˜ PTνšŒμ› 관리 app
PTνšŒμ›μ˜ PT 일정, PT 레슨 μ‹œ μˆ˜ν–‰ν•œ μš΄λ™, λͺΈ μƒνƒœ λ³€ν™” 등을 톡합 관리
( mvp μ™Έμ£Όμ œν’ˆ )

κΈ°κ°„ 및 νŒ€ λΉŒλ”©

κΈ°κ°„
β€’
기획 κΈ°κ°„ : 21.03.11 ~ 21.03.25
β€’
개발 κΈ°κ°„ : 21.03.26 ~ 21.04.23
개발 인원
β€’
App : 2λͺ…
β€’
Server : 2λͺ… ( 본인 포함 )
β€’
μ „ 인원 기획 μ°Έμ—¬

μ™€μ΄μ–΄ν”„λ ˆμž„

ν΄λΌμ΄μ–ΈνŠΈ μΈ‘μ—μ„œ κΈ°νšμ•ˆμ„ μ£Όμ§€μ•Šκ³ , λŒ€λž΅μ μΈ μ»¨μ…‰λ§Œ μ•Œλ €μ€€ μƒν™©μ΄μ˜€κΈ°μ— μ™€μ΄μ–΄ν”„λ ˆμž„μ„ ν†΅ν•œ κΈ°νšλΆ€ν„° μ‹œμž‘ν•¨

λͺ©μ—…(mock-up)

mvp μ™„μ„± ν›„ μ‹œμ—° μ˜μƒ

κΈ°λŠ₯

mvp μ˜€κΈ° λ•Œλ¬Έμ— ν•„μˆ˜μ μΈ κΈ°λŠ₯만 κ°œλ°œν•¨
β€’
νŠΈλ ˆμ΄λ„ˆ 둜그인/νšŒμ›κ°€μž…
β€’
PT νšŒμ› 관리
β—¦
λŒ€μ‹œλ³΄λ“œ λ·°
β—¦
μΊ˜λ¦°λ” λ·°
β—¦
λ©”μ‹ μ €
β—¦
νšŒμ› λͺΈ μƒνƒœ κ·Έλž˜ν”„
β€’
νŠΈλ ˆμ΄λ„ˆ ν”„λ‘œν•„ 보기

기술 μŠ€νƒ

App
β€’
react-native
Server
β€’
express (node.js)
β€’
AWS EC2, S3
DB
β€’
mongoDB
β€’
mongoose

ν”„λ‘œμ νŠΈμ—μ„œ 맑은 λΆ€λΆ„

β€’
ν”„λ‘œμ νŠΈ 전체 ꡬ쑰 μ„ΈνŒ…
β†’ κ²¬κ³ ν•œ node.js ν”„λ‘œμ νŠΈ μ„€κ³„ν•˜κΈ° λ₯Ό μ½κ³ λ‚œ ν›„, 3-layer Architecture λ₯Ό λ³€ν˜•ν•΄μ„œ express ν”„λ‘œμ νŠΈμ— μ μš©ν•΄λ΄„
src β”‚ app.js # μ—”νŠΈλ¦¬ 파일 └───api/ # Presentation Layer (Express app 의 λͺ¨λ“  route controllers) └───config/ # ν™˜κ²½λ³€μˆ˜ └───loaders/ # μ‹œμž‘ ν”„λ‘œμ„ΈμŠ€(Express, mongoose ..) loader └───models/ # Data Access Layer (λ°μ΄ν„°λ² μ΄μŠ€ λͺ¨λΈ) └───services/ # Service Layer (λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 μž‘μ„±)
Plain Text
볡사
β€’
api 개발
μ„œλ²„ νŒ€μ› ν•œ λͺ…κ³Ό ν•¨κ»˜ 전체 api 섀계λ₯Ό ν•˜κ³  Trainee, Messenger, Exbody api λ₯Ό λ§‘μ•„μ„œ κ°œλ°œν•¨
β€’
db 섀계
mongoDB μ‚¬μš©

ν›„κΈ°

λ§Œμ‘±ν–ˆλ˜ 점

β€’
ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λ©΄μ„œ 처음으둜 페이λ₯Ό λ°›κ³  ν•œ μž‘μ—…μ΄μ—¬μ„œ μ˜λ―Έκ°€ λ‚¨λ‹¬λžλ‹€. λΆ€μ‘±ν•œ 점이 λ§Žμ•˜μ§€λ§Œ λ‚΄κ°€ λ‚Ό μˆ˜μžˆλŠ” μ΅œλŒ€ν•œμ˜ μ—­λŸ‰μ„ λ‚΄κ³ μž ν–ˆκ³  μ—΄μ‹¬νžˆ ν–ˆλ‹€.
β€’
js 의 비동기λ₯Ό κ°œλ…λ§Œ μ•Œκ³  μžˆμ§€ μ‹€μ œλ‘œ 써 본적이 많이 μ—†μ—ˆλŠ”λ° promise 와 async/await 을 원없이 μ¨λ³΄μ•˜λ‹€.

μ•„μ‰¬μ› λ˜ 점 & λŠλ‚€ 점

β€’
λ””μžμ΄λ„ˆ μ™Έμ£Όλ₯Ό 맑기지 μ•Šμ•˜λŠ”λ° λ‚˜λ₯Ό ν¬ν•¨ν•œ νŒ€μ›λ“€μ˜ λ””μžμΈ 감각이 μ•„λ¬΄λž˜λ„ λ–¨μ–΄μ§€λ‹€λ³΄λ‹ˆ mvp 라고 해도 퀄리티가 μ’€ 아쉬웠닀.
β€’
nosql 을 사싀상 RDB 처럼 μ‚¬μš©ν•΄μ„œ nosql λ₯Ό μ“΄ μ΄μœ κ°€ 사라진 것 κ°™λ‹€. 특히 document ν•˜λ‚˜λ₯Ό μˆ˜μ •/μ‚­μ œλ₯Ό ν•  λ•Œ μ—°κ΄€λœ collections 에 λͺ¨λ‘ 쿼리문을 λ‚ λ €μ„œ μˆ˜μ •/μ‚­μ œλ₯Ό 해쀬어야 ν–ˆλ‹€. κ°œλ°œν•˜λ©΄μ„œ μ‹€μˆ˜λ‘œ 빼먹은 collection 이 μžˆμ–΄μ„œ DB κ°€ 꼬이기도 ν–ˆλ‹€. λ”°λΌμ„œ μˆ˜μ •/μ‚­μ œκ°€ λ§Žμ€ μ„œλΉ„μŠ€μ—μ„œλŠ” RDB λ₯Ό μ“°λŠ”κ²Œ λ°”λžŒμ§ν•  것 κ°™λ‹€.
β€’
λͺ‡λͺ‡ μ‚¬μ •λ“€λ‘œ μΈν•΄μ„œ μ‹€μ œ ν”„λ‘œλ•νŠΈλ‘œ releaseλ˜μ§„ λͺ»ν–ˆλ‹€.
β€’
무쀑단배포와 CI/CD λ₯Ό 해보렀고 ν–ˆμ§€λ§Œ μ˜€λ²„μ—”μ§€λ‹ˆμ–΄λ§μ΄λΌκ³  νŒλ‹¨μ„ ν•΄μ„œ μ½”λ“œν€„λ¦¬ν‹°μ— 더 μ§‘μ€‘ν•˜κ³ μž λ¬΄μ€‘λ‹¨λ°°ν¬λŠ” λ‹€μŒ 기회둜 λ―Έλ€˜λ‹€.

github repository 링크

duobody-server
itsme-shawn