ν립 μΉ΄λλ₯Ό μ¬μ©ν΄ CS κ°λ μ μ 리νμ¬ κ³΅λΆν μ μλ κΈ°μ λ©΄μ νΈλλΆμ λλ€.
λ°°ν¬ URL: https://nfe-1-1-3-tech-log.vercel.app/
TechLogλ CS κ°λ
μ μΉ΄ν
κ³ λ¦¬λ³λ‘ μ 리νκ³ , μ¬λ¬ μ¬μ©μλ€κ³Όμ μ±ν
μ ν΅ν΄ μ€κ°λ
μ΄λ λΆμ‘±ν κ°λ
μ 보좩νλ©° κΈ°μ λ©΄μ μ μ€λΉν μ μλ μΉμ¬μ΄νΈμ
λλ€.
μ£Όλ‘ μ·¨μ
μ€λΉμ, μ΄μ§μ κ³ λ €νλ κ°λ°μ, λ©΄μ κ΄(Interviewer)μ΄ μ¬μ©ν κ²μΌλ‘ κΈ°λλ©λλ€.
μ¬μ©μλ μμ μ΄ λ±λ‘ν μ§λ¬Έκ³Ό λ΅λ³μ μ§μ μΆκ°ν μ μμΌλ©°, λ€λ₯Έ μ¬μ©μλ€μ΄ ν립 μΉ΄λ νμμΌλ‘ λ±λ‘ν μ§λ¬Έκ³Ό λ΅λ³μ ν΅ν΄ κΈ°μ λ©΄μ μμ μμ£Ό λμ€λ μ§λ¬Έκ³Ό κΌ μμμΌ ν κ°λ μ μΉ΄λ λΏλ§ μλλΌ, μ€μκ° μ±ν μ ν΅ν΄ 곡μ νκ³ λλΉν μ μμ΅λλ€.
- νλ‘μ νΈ κ°μ
- νλ‘μ νΈ κ΅¬μ±μ
- μ£Όμ κΈ°λ₯
- κΈ°μ μ€ν
- ν΄λ ꡬ쑰
- μ€μΉ λ° μ€ν λ°©λ²
- κ°λ° κΈ°κ°
- νΈλ¬λΈ μν
- ν₯ν κ°μ μ¬ν
- νμ μκ° λ° λλμ
Backend | Backend | Backend | Frontend | Frontend |
---|---|---|---|---|
κΉμ£Όμ | μ΅ν¨μ’ | νμ μ§ | μ΄μ£Όν | ν¨λ―Όν |
@juyoung |
@hyujong |
@yujin |
@juhwan |
@minhynk |
βοΈμ§λ¬Έ λ° λ΅λ³ 곡μ
- μ¬μ©μκ° μ΅λͺ μΌλ‘ κΈ°μ λ©΄μ μ§λ¬Έμ λ±λ‘νκ³ , λ€λ₯Έ μ¬μ©μμ λ΅λ³μ ν΅ν΄ λ©΄μ μ€λΉμ λμμ λ°μ μ μμ΅λλ€.
- μ§λ¬Έ λͺ©λ‘μ main νμ΄μ§μμ Grid νμμΌλ‘ μ 곡λλ©°, μΉ΄λλ₯Ό ν΄λ¦ μ μΉ΄λ λ€μ§κΈ° μ λλ©μ΄μ μ ν΅ν΄ λ΅λ³μ΄ νμλ©λλ€.
βοΈμ§λ¬Έ, λ΅λ³ λ±λ‘ κΈ°λ₯
- μ¬μ©μλ€μ΄ μμ μ μ§λ¬Έ/λ΅λ³μ μ½κ² λ±λ‘ν μ μλλ‘ κ°λ¨ν λ±λ‘ λͺ¨λ¬μ μ 곡νκ³ μμΌλ©°, μ§λ¬Έκ³Ό λ΅λ³ λͺ¨λ μμ± ν ν λ²μ λ±λ‘ν©λλ€.
βοΈμΉ΄λ flip ν¨κ³Όλ₯Ό ν΅ν μ§κ΄μ μΈ λ΅λ³ νμΈ
- μ¬μ©μκ° μ§λ¬Έμ ν΄λ¦νλ©΄ μΉ΄λκ° λ€μ§νλ©΄μ λ΅λ³μ΄ λνλλ μκ°μ μΈ ν¨κ³Όλ₯Ό ν΅ν΄ νμ΅ ν¨κ³Όλ₯Ό λμΌ μ μμ΅λλ€.
βοΈμ§λ¬Έ λ΅λ³ λ° μμΈ λ³΄κΈ°
- λ΅λ³μ νμΈ ν, λ μμΈν μ 보λ₯Ό μν κ²½μ° "μμΈλ³΄κΈ°" λ²νΌμ ν΄λ¦νμ¬ ν΄λΉ μ§λ¬Έμ λν μμΈ λ΅λ³μ νμΈν μ μμ΅λλ€.
βοΈλ€λ₯Έ μ¬μ©μλ€κ³Ό μ€μκ° μ±ν
- κ° μΉ΄λμ μμΈ νμ΄μ§μμ μ€μκ°μΌλ‘ μ¬λ¬ μ¬μ©μλ€κ³Ό μ±ν μ ν΅ν΄ μν΅νλ©° μ 보λ₯Ό 곡μ νκ³ μ»μ μ μμ΅λλ€.
βοΈλ§μ΄νμ΄μ§ κΈ°λ₯
- νμκ°μ , λ‘κ·ΈμΈμ ν΅ν΄ κΈμ μ°κ±°λ/μμ /μμ κΈ°λ₯μ μ΄μ©ν μ μμΌλ©°, λ§μ΄νμ΄μ§λ₯Ό ν΅ν΄ μμ μ΄ μ΄ μΉ΄λ 리μ€νΈλ₯Ό κ΄λ¦¬ν μ μμ΅λλ€.
μ΅μμ ꡬ쑰
NFE1-1-3-techLog/
βββ.github
βββBackEnd
βββfrontend
βββ.gitignore
βββ.prettierrc
βββ.package-lock.json
βββ.package.json
βββREADME.md
νλ‘ νΈμλ λλ ν 리 ꡬ쑰
src/
β
βββ components/
β βββ common/
β β βββ Button.js
β β βββ Input.js
β β βββ ...
β β
β βββ layout/
β β βββ Header.js
β β βββ Footer.js
β β βββ ...
β β
β βββ feature/
β βββ UserProfile.js
β βββ ProductList.js
β βββ ...
β
βββ pages/
β βββ Home.js
β βββ About.js
β βββ Contact.js
β βββ ...
β
βββ hooks/
β βββ useForm.js
β βββ useAPI.js
β βββ ...
β
β
βββ api/
β βββ auth.js
β βββ ...
β
β
βββ styles/
β βββ global.css
β βββ variables.css
β βββ ...
β
βββ assets/
β βββ images/
β βββ fonts/
β βββ ...
β
βββ App.js
λ°±μλ λλ ν 리 ꡬ쑰
root/
β
βββ backend/
β βββ controllers/
β β βββ users # μ¬μ©μ κ΄λ ¨ λ‘μ§ μ²λ¦¬
β β βββ post # κ²μλ¬Ό κ΄λ ¨ λ‘μ§ μ²λ¦¬
β β βββ comment # μ€μκ° μ±ν
κ΄λ ¨ λ‘μ§ μ²λ¦¬
β βββ middlewares/
β β βββ auth.js # μ¬μ©μ κ΄λ ¨ μΈμ¦ μ²λ¦¬ λ―Έλ€μ¨μ΄
β βββ models/
β β βββ comment.js # μ±ν
μ λν Mongoose μ€ν€λ§
β β βββ User.js # μ¬μ©μμ λν Mongoose μ€ν€λ§
β β βββ Post.js # κ²μλ¬Όμ λν Mongoose μ€ν€λ§
β βββ routes/
β β βββ commentRoutes.js # λκΈ κ΄λ ¨ λΌμ°ν°
β β βββ userRoutes.js # νμ κ΄λ ¨ λΌμ°ν°
β β βββ postRoutes.js # κ²μλ¬Ό κ΄λ ¨ λΌμ°ν°
β βββ websocket/
β β βββ websocketServer.js # socket.io μ±ν
νΈλ€λ¬
β βββ app.js # Express μ ν리μΌμ΄μ
μ€μ
β βββ server.js # μλ² μ§μ
μ
β βββ .env # νκ²½ λ³μ (μ: DB μ°κ²° λ¬Έμμ΄)
β
βββ frontend/ # νλ‘ νΈμλ λλ ν 리 (리μ‘νΈ)
μ£Όμ μ¬μ©μ νλ¦
- λΉλ‘κ·ΈμΈ μ¬μ©μ: μΉ΄λ μ΄λ λ° νμκ°μ κ°λ₯
- λ‘κ·ΈμΈ μ¬μ©μ: μΉ΄λ μμ±/μμ /μμ , μ€μκ° μ±ν μ°Έμ¬, λ§μ΄νμ΄μ§ μ΄μ© κ°λ₯
- λ§μ΄νμ΄μ§: μμ μ΄ μμ±ν μΉ΄λ κ΄λ¦¬ κ°λ₯
Collection
- user
- μ¬μ©μ μ 보 κ΄λ¦¬
- μ¬μ©μ id(username), λΉλ°λ²νΈ(password) μ μ₯
- post
- μ§λ¬Έκ³Ό λ΅λ³ μ 보 κ΄λ¦¬
- μ λͺ©(title), μΉ΄ν κ³ λ¦¬(category), 짧μ λ΅λ³(shortAnswer), κΈ΄ λ΅λ³(detailedAnswer), μμ±μ id(user μ€ν€λ§μ objectId), μμ± μκ°(createdAt), μμ μκ°(updatedAt) μ μ₯
- comment
- μ€μκ° μ±ν λ©μΈμ§ μ μ₯
- μμ±μid(userId), κΈid(postId), λκΈλ΄μ©(content), λκΈ μ λ‘λ μκ°(createdAt) μ μ₯
- μ μ₯μ 볡μ νκΈ°
git clone https://github.com/prgrms-fe-devcourse/NFE1-1-3-techLog.git
- νλ‘ νΈμλ, λ°±μλ, κ·Έλ¦¬κ³ λ£¨νΈ λλ ν 리μ λν μ’ μμ± μ€μΉ
// λ£¨νΈ λλ ν 리
npm install
// νλ‘ νΈμλ λλ ν 리
cd frontend
npm install
// λ°±μλ λλ ν 리
cd Backend
npm install
- νκ²½ λ³μ μ€μ
- frontend, Backend μλ¨ λλ ν 리μ .env νμΌ μμ±
- Backend: mongoDB μ£Όμ, secretKey
- frontend: λ°±μλ λλ©μΈ μ£Όμ
- κ°λ° μλ² μμ
// νλ‘ νΈμλ λλ ν 리
npm run start
// λ°±μλ λλ ν 리
nodemon server.js or node server.js or npm run server
- κΈ°ν: 2024.10.17~2024.10.24
- κ°λ°: 2024.10.25~2024.11.6
- μΉ΄ν κ³ λ¦¬ μΆκ°
- μμΈ μ²λ¦¬ 보κ°
- μ€ν¬λ© κΈ°λ₯ μΆκ° -> λ€λ₯Έ μ¬μ©μλ€μ μ§λ¬Έ κ΄λ¦¬
μ΄μ£Όν (νλ‘ νΈμλ)
- μμ± μμ
ν¨λ―Όν (νλ‘ νΈμλ)
- μμ± μμ
κΉμ£ΌμA (λ°±μλ)
- μμ± μμ
μ΅ν¨μ’ (λ°±μλ)
- μμ± μμ
νμ μ§ (λ°±μλ)
- μμ± μμ