μ΄λ¦ | νλ² | Github ID | λΉκ³ |
---|---|---|---|
κΉμ§ν | 20161863 | jihye-kim11 | |
λ°μ’ ν | 20185536 | jjonyo | PM |
μ€μ§νΈ | 20161676 | jhyoon9705 | |
μ΄νμ© | 20151322 | lhy0718 | |
μ λλ¦° | 20180396 | jnl1128 | |
μ§κ²Έ | 20153031 | kevinOriginal |
-
Frontend - https://hardcore-kirch-ce6c93.netlify.app/
-
Backend - https://sw-engineering.festa.dev/api/swagger/ REST APIλ‘ κ΅¬μμ νκΈ° λλ¬Έμ restful api μ κ°κ°μ apiλ₯Ό ν μ€νΈ ν΄λ³Ό μ μλ€. νμ¬ AWS μμ μ¬λΌκ°μλ€.
ν΄λΌμ΄μΈνΈ(Web)μ Node.js μμμ, μλ²μ DBλ μ΄μ체μ μ μκ΄μμ΄ λ docker μμμ λμκ°λ―λ‘ λ€μ νκ²½λ§ κ°μΆκ³ μμΌλ©΄ λλ€.
- Node.js 14 μ΄μ & npm
- yarn 1.0 μ΄μ
- Docker Deskop
- docker-compose
- yarn μ΄ κΉλ €μμ§ μλ€λ©΄, λ€μ λͺ λ Ήμ΄λ₯Ό μ€νν©λλ€.
# μ무λμλ μ€ν κ°λ₯
$ npm install -g yarn
yarnμ κΉ λ λΉΌκ³€ npm
λͺ
λ Ήμ΄λ₯Ό μ¬μ©ν μΌμ΄ μμΌλ μ μν΄μ£ΌμΈμ.
- yarn λ° docker-compose κ° μ μ€μΉ λμλ νμΈ
$ yarn --version
1.22.5 # μ΄λ κ² λ²μ λͺ
μ΄ λ¨λ©΄ μ±κ³΅ (κΌ μ΄ λ²μ κ³Ό μΌμΉνμ§ μμλ 무방)
$ docker-compose --version
docker-compose version 1.29.1, build c34c88b2 # # μ΄λ κ² λ²μ λͺ
μ΄ λ¨λ©΄ μ±κ³΅ (κΌ μ΄ λ²μ κ³Ό μΌμΉνμ§ μμλ 무방)
- ν¨ν€μ§ μμ‘΄μ± μ€μΉ (package.jsonμ΄ λ°λ λ λ§λ€ ν΄μ£Όμ΄μΌ ν¨ )
# 루λμ μλ€λ κ°μ νμ serverλ‘ λ€μ΄κ°
$ cd ./server
# server λλ ν 리 λ΄μμ μ€ν
$ yarn
μ΄λ¬λ©΄ ν¨ν€μ§λ€μ΄ κΉλ¦¬κ³ , μ΄λ―Έ λ€ κΉλ €μλ€λ©΄ Already up to date
λΌ λΉλλ€.
- Docker composeλ₯Ό ν΅ν΄ 컨ν μ΄λλ₯Ό λμ°κ³ μ ν΄μ§ λͺ λ Ήμ΄λ₯Ό 미리 μ€νν΄ μλ²μ λλΉλ₯Ό λμλλ€. (λ°λΌμ μ°λ¦¬λ λ°λ‘ μλ²μ λλΉλ₯Ό ν¬ νμκ° μμ)
# μ£Όμ νλ‘μ νΈ λ£¨νΈ λλ ν 리μμ μ€νν΄μΌν¨! (/server μ΄ μλλλ€)
$ cd .. # server λ΄μ μμ λλ§ μ΄ λͺ
λ Ήμ΄λ₯Ό ν΅ν΄ 루νΈλ‘ λμ¨λ€. (μ΄λ―Έ 루νΈλ©΄ μ€ν ν νμ X)
$ docker-compose -f docker-compose.dev.yml up
- κ°λ°μ λ§μΉκ³ μ’ λ£ν λ (ν°λ―Έλμμ λ컀 νκ²½μ λκ³ μΆμ λ)
Ctrl+C λλ₯΄λ©΄ λ¨ (Mac & Windows λμΌν¨)
-
ν¨ν€μ§ μμ‘΄μ± μ€μΉ (package.jsonμ΄ λ°λ λ λ§λ€ ν΄μ£Όμ΄μΌ ν¨ )
# 루λμ μλ€λ κ°μ νμ serverλ‘ λ€μ΄κ° $ cd ./frontend # server λλ ν 리 λ΄μμ μ€ν $ yarn
μ΄λ¬λ©΄ νλ°νΈμλμ νμν ν¨ν€μ§λ€μ΄ κΉλ¦¬κ³ , μ΄λ―Έ λ€ κΉλ €μλ€λ©΄
Already up to date
λΌ λΉλλ€. -
ν΄λΉ λλ ν 리μμ λ°λ‘ yarnμ ν΅ν΄ κ°λ° μλ²λ₯Ό μ€ν ν©λλ€.
# μ£Όμ νλ‘μ νΈ λ£¨νΈ λλ ν 리μμ μ€νν΄μΌν¨! (/server μ΄ μλλλ€) $ yarn start
-
κ°λ°μ λ§μΉκ³ μ’ λ£ν λ (ν°λ―Έλμμ λ컀 νκ²½μ λκ³ μΆμ λ)
Ctrl+C λλ₯΄λ©΄ λ¨ (Mac & Windows λμΌν¨)
μ½λ‘λ-19 λ°μ΄λ¬μ€λ‘ μΈν λΉλλ©΄ μμ μ΄ μ₯κΈ°νλμλ€. μ 4μ°¨ κ°μΌμ΄ μμλλ κ°μ΄λ°, μ΄μ€κ³ λ±νκ΅ νμλ€μ λλ΄ λΆμ¬ μμ λ°©μΉλμ΄ μλ€. λΉλλ©΄ μν© μμμ κ΅μμ, νλΆλͺ¨ νμμ μλμ κ°μ λ¬Έμ μ μ κ²ͺκ³ μλ€.
- κ΅μμλ νμμκ² κ³΅μ§μ¬νμ΄ μ λλ‘ μ λ¬μ΄ λμλμ§ νμΈνκΈ° μ΄λ ΅λ€.
- νλΆλͺ¨λ μλ μ μμ 곡μ§μ¬νμ νμΈνκΈ° μ΄λ ΅λ€.
- νμμ ν΄λΉ μμ μ μΆκ²° μ²λ¦¬κ° μ μμ μΌλ‘ μ²λ¦¬λμλμ§ νμΈνκΈ° μ΄λ ΅κ³ μμ μ°Έμ¬μ λν λκΈ°λΆμ¬λ₯Ό μ»κΈ° μ΄λ ΅λ€.
μ°λ¦¬λ κ΅μμ, νλΆλͺ¨, νμ λͺ¨λκ° λΉλλ©΄ μν©μμ λλ΄ κ³΅λ°±μ λλΌμ§ μμ μ μλ μλΉμ€κ° μμμΌλ©΄ μ’κ² λ€. μ°λ¦¬λ κ΅μμκ° νμκ³Ό νλΆλͺ¨μκ² κ³΅μ§μ¬νμ μΌκ΄ μ μ‘νκ³ νμΈνλμ§ μ¬λΆκΉμ§ νμ ν΄ μν΅μ λ¬Έμ λ₯Ό ν΄κ²°ν μ μκΈ°λ₯Ό μνλ€. μ°λ¦¬λ νλΆλͺ¨κ° μμ λ³ κ³΅μ§μ¬νλ₯Ό κ΅μμλ‘λΆν° νμΈλ°μ μλ μ λν κ³ λ―Όμ λκΈΈ λ°λλ€. λ§μ§λ§μΌλ‘ μ°λ¦¬λ νμλ€μ΄ μμ μ°Έμ¬μ λν λκΈ°λΆμ¬λ₯Ό μμ§ μκ³ μΆμκ³Ό κ³Όμ μ°Έμ¬λ₯Ό λμ΄κΈ° μν μμ€ν μ΄ μκΈ°λ₯Ό λ°λλ€.
μΆκ²°κ΄λ¦¬ μΉμ μ μν¨κ³Ό λμμ λ‘κ·ΈμΈ νλ©΄μ΄ λ¬λ€. μ΄λ λ‘κ·ΈμΈμ ν μ μλ μ¬μ©μλ νμκ°μ μ΄ λμ΄μλ κ΅μμμ νμμ΄λ€.
κ΅μμ κ³μ μΌλ‘ λ‘κ·ΈμΈν κ²½μ°, 미리 λ±λ‘λ μ 보μ λ°λΌ κ΅μμ(μ¬μ©μ)κ° λ΄λΉνκ³ μλ μμ
μ λͺ©λ‘λ€μ΄ ν
μ΄λΈ νμμΌλ‘ νλ©΄μ λ¨κΈ° λλ€. κ΅μμλ μ΄ νλ©΄μμ μΆκ°
, μμ
, μμ
λ²νΌλ€μ ν΅ν΄ μμ
λͺ©λ‘μμ μμ
μ μΆκ°, μμ , μμ ν μ μλ€. μμ
λͺ©λ‘λ€ μ€ νλλ₯Ό ν΄λ¦νμ¬ λ€μ΄κ° κ²½μ° ν΄λΉ μμ
μ μκ°νκ³ μλ νμλ€μ λͺ
λ¨μ΄ ν
μ΄λΈ νμμΌλ‘ λ¨κ³ , νμλ€μ μ΄λ¦ μμλ νμλ³λ‘ νμμ λΉμΌ μΆκ²°μ 체ν¬ν μ μλ 4κ°μ§(μΆμ, κ²°μ, μ§κ°, 곡결)μ 체ν¬λ°μ€κ° μλ€. κ΅μμλ μ΄ μ²΄ν¬λ°μ€λ€μ λ¨μν 체ν¬ν¨μΌλ‘μ¨ νμλ€μ μΆκ²°μ²΄ν¬κ° κ°λ₯νκ² λλ€. λν νμλ€ λͺ©λ‘ μ€μμ κ²μμ ν΅ν΄ κ²μ쑰건(νμ μ΄λ¦ λ±)μ λΆν©νλ νμλ§μ λ°λ‘ μΆλ ₯μ΄ κ°λ₯νλ€. κ΅μμλ νμμκ² μΆκ²°κ³Ό κ΄λ ¨νμ¬ λ³μ (Star Point)λ₯Ό λΆκ³Όν μ μμΌλ©°, νμλ€μ μμ μ λ³μ κ³Ό νκΈλ΄ λ³μ μμμ λ°±λΆμ¨ κ°μ νμΈν μ μλ€. λν κ΅μλ μμ μ΄ λ΄λΉνλ κ³Όλͺ©μ λͺ©λ‘μ νμΈν μ μκ³ , κ³Όλͺ©λ³λ‘ ν΄λΉ κ³Όλͺ©μ μκ°νλ νμλ€μκ² μΌκ΄μ μΌλ‘ 곡μ§λ₯Ό λ³΄λΌ μ μλ€.
νμμ νμ κ°μ μ νκ΅, νλ², μ΄λ¦ λ±μ μ 보λ₯Ό μλΉμ€μ μ 곡νλ€. νμμ μμ μ νκ΅μμ κ°μ€λ μμ λͺ©λ‘ μ€μμ μκ°μ€μΈ μμ μ κ²μνμ¬ μμ κ·Έλ£Ήμ λ€μ΄κ° μ μλ€. νμμ΄ κ·Έλ£Ή μ μ²μ μμ²νλ©΄ κ³Όλͺ©μ κ°μ€ν κ΅μμμ νμΈ μ μ°¨λ₯Ό ν΅ν΄ μ μ²μ΄ μλ£ λλ κ±°μ λλ€.
Group | Desecription | Contributor |
---|---|---|
Auth+Core | κ°λ° νκ²½ μΈν λ° μ¬μ©μ λͺ¨λΈ μ μ, μ¬μ©μκ° μ±μ λ‘κ·ΈμΈ λ° νμκ°μ | κΉμ§ν, μ§κ²Έ |
Teacher | νμμ λν μΆμ 체ν¬, μμ λ° νμ λͺ©λ‘, μ 보 μ‘°ν, μΆκ²° κ²°κ³Ό λ° κ³΅μ§μ¬ν λ°μ‘ | μ΄νμ©, μ λλ¦° |
Student | μμ μ μ², κ°μΈ μΆκ²°νν© λ° μμ μ°Έμ¬λ νμΈ | λ°μ’ ν, μ€μ§νΈ |
Actor | Actor's Goal | Use Case Name |
---|---|---|
κ΅μμ | κ΅μμκ° λ³ΈμΈμμ μΈμ¦νκ³ κ°μ λ° λ‘κ·ΈμΈμ ν μ μκΈ° μν¨ | κ΅μμ μ¨λ³΄λ© (UC-1) |
κ΅μμ | νμλ€μ μΆκ²°μ κ΄λ¦¬ νκΈ° μν¨ | μΆκ²° κ΄λ¦¬(UC-2) |
κ΅μμ | νμμκ² λ³μ μ λΆμ¬νκ±°λ λΊκΈ° μν¨ | λ³μ λΆμ¬ (UC-3) |
κ΅μμ | μμ μ λ§λ€κ³ κ·Έ μ 보λ₯Ό κ΄λ¦¬νκΈ° μν¨ | κ΅μμ μμ κ΄λ¦¬ (UC-4) |
κ΅μμ | νλΆλͺ¨ νΉμ νμμκ² κ³΅μ§μ¬νμ λ°μ‘νκΈ° μν¨ | κ³΅μ§ λ°μ‘(UC-5) |
κ΅μμ | μμ μ νλ‘ν λ° μ 보λ₯Ό μμ νκΈ° μν¨ | κ΅μμμ 보κ΄λ¦¬(UC-6) |
νμ | νμμ΄ λ³ΈμΈμμ μΈμ¦νκ³ κ°μ λ° λ‘κ·ΈμΈμ ν μ μκΈ° μν¨ | νμ μ¨λ³΄λ© (UC-7) |
νμ | λμ μ΄λ² νκΈ° μμ λͺ©λ‘μ μ νν΄μ κ·Έ μ 보λ₯Ό 보기 μν¨ | μμ μ μ² (UC-8) |
νμ | νμμ΄ μμ μ κ³΅μ§ λ° μΆκ²°μνλ₯Ό νμΈ νκΈ° μν¨ | μμ μννμΈ(UC-9) |
νμ | μμ μ νλ‘ν λ° μ 보λ₯Ό μμ νκΈ° μν¨ | νμμ 보κ΄λ¦¬(UC-10) |
κ΅μμ,νμ | μ§μ λ λλ©μΈμ λ©μΌμ£Όμλ₯Ό κ°μ§κ³ μλμ§ νμΈνκΈ° μν¨ | κ΅μμ μ¨λ³΄λ© (UC-1), νμ μ¨λ³΄λ© (UC-7) |
κ΅μμ,νμ | μλΉμ€ νμ νν΄λ₯Ό νκΈ° μν¨ | νμνν΄(UC-11) |
μλ² | νλΆλͺ¨κ° νμλ€μ μΆκ²°μνλ₯Ό νμΈνκΈ° μν¨ | μΆκ²° νμΈ(UC-12) |
μλ²,ν΄λΌμ΄μΈνΈ | μ¬μ©μ μμ²μ λν μ ν¨μ± κ²μ¬ (νμ , λ²μ, URL, ...) | μ ν¨μ± κ²μ¬(UC-13) |
-
μ΄μ체μ μ κ΄κ³ μμ΄, κ·Έλ¦¬κ³ λΉ λ₯Έ λ°°ν¬λ₯Ό μν΄ docker (κ°μ νκ²½) μν΄μ μλ²μ DBλ₯Ό λμ°λλ‘ νλ€.
-
Backendμ Frontendκ° μ κΈ°μ μΌλ‘ κ°λ°μ λ³ν ν μ μλλ‘ λ λ€ ν μΈμ΄μΈ JavaScript κΈ°λ°μΌλ‘ μ½λλ₯Ό μμ± νλ€. μ¬κΈ°μ λ λμκ° μλ²μμλ νμ μμ μ±μ 보μ₯νκΈ° μν΄ TypeScriptλ₯Ό μ¬μ©νλ€.
-
SOLID λμμΈ ν¨ν΄μ μ΅λν λ°λ₯΄κΈ° μν΄ Node.js runtime μμμ λμνλ Nest.js λΌλ νλ μμν¬λ₯Ό μ¬μ©νμλ€.
-
Client - Server κ° μ½κ² μν΅μνκ³ λͺ¨λνλ κ°λ° μ νκΈ° μν΄ REST APIλ₯Ό μ¬μ©νμμΌλ©° swagger λ¬Έμνλ₯Ό ν΅ν΄ ν μ€νΈλ₯Ό μ§μ ν΄λ³Ό μ μκ² νλ€.
-
μ€λ³΅μ΄ μ¬λΉν UIκ° λ§μ μ΄μ μ΅μ νλ Reusability κ° μ’μ View Library μΈ Reactλ₯Ό μ¬μ©νμλ€.
-
AWSμ Netlifyλ₯Ό μ κ°μ IaaS λ₯Ό νμ©νμ¬, Email λ°μ‘, Uri μ²λ¦¬, deveops μ²λ¦¬, deployment κ΄λ¦¬λ₯Ό 체κ³μ μ΄κ³ μ½κ² ν μ μμλ€.
-
Agile νκ² κ°λ°μ νκ² Open sourceλ₯Ό μ΅λν νμ©νλ€.
-
κ°λ° νλ‘μΈμ€λ₯Ό μλ ν νκΈ° μν΄ CI/CDλ₯Ό λμ . (μλλ develop/staging/master 3 κ°μ§ λΈλμΉλ‘ λλμ΄μΌ νλ, νλ‘μ νΈ κ·λͺ¨μ μκ° κ΄κ³μ master ν λΈλμΉμμλ§ λλλ‘ νλ€.)