Skip to content

part4-project/effi_frontend

Repository files navigation

πŸ—“ κ°œλ°œκΈ°κ°„ : 24λ…„ 5μ›” 13일 ~

πŸ’¬ EFFIμ—μ„œ νšŒμ˜ν•˜κΈ°

Hits

λͺ©μ°¨

  1. ν”„λ‘œμ νŠΈ μ†Œκ°œ
  2. 멀버 μ†Œκ°œ
  3. μ‚¬μš© μŠ€ν‚¬ μ†Œκ°œ
  4. 디렉토리 ꡬ쑰
  5. 브랜치 μ „λž΅

πŸ“– ν”„λ‘œμ νŠΈ μ†Œκ°œ

EFFI λŠ” νš¨μœ¨μ„±μ„ λœ»ν•˜λŠ” efficiency μ—μ„œ 이름을 κ°€μ Έμ™”μŠ΅λ‹ˆλ‹€.
ν™”μƒνšŒμ˜ 쀑 λ…Όμ˜ν–ˆλ˜ μ•ˆκ±΄μ΄λ‚˜ λŒ€ν™”λ‚΄μš©μ„ 리포트 ν˜•μ‹μœΌλ‘œ μ œκ³΅ν•¨μœΌλ‘œμ¨ λ”°λ‘œ νšŒμ˜λ‘μ„ μž‘μ„±ν•˜μ§€ μ•Šκ³  νšŒμ˜μ—λ§Œ 집쀑할 수 μžˆλ„λ‘ ν•˜μ—¬ 효율적인 ν˜‘μ—…λ¬Έν™”λ₯Ό μ œκ³΅ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

πŸ“μ£Όμš” κΈ°λŠ₯

βœ… μ†Œμ…œ 둜그인 및 λ‘œκ·Έμ•„μ›ƒ - google OAuth λ₯Ό μ‚¬μš©ν•˜μ—¬ google 이메일을 톡해 둜그인 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.



βœ… Nav, Side λ°” - nav, side λ°”λŠ” νšŒμ˜μ‹€μ„ μ œμ™Έν•˜κ³  λͺ¨λ“  λ ˆμ΄μ•„μ›ƒμ— fixed둜 κ³΅ν†΅μœΌλ‘œ μ‘΄μž¬ν•©λ‹ˆλ‹€.

  • Nav λ°”μ—μ„œλŠ” 닀크λͺ¨λ“œλ₯Ό μ„€μ •ν•  수 있고, μ•Œλ¦Ό λͺ©λ‘ 및 λ‚΄ ν”„λ‘œν•„μ„ μ‘°νšŒν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ•Œλ¦Όμ€ socket으둜 κ΅¬ν˜„λ˜μ–΄ μ‹€μ‹œκ°„μœΌλ‘œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • Side λ°”μ—μ„œλŠ” λ‘œλΉ„ νŽ˜μ΄μ§€λ‘œ 이동할 수 μžˆλŠ” λ²„νŠΌμ΄ 있고, κ·Έλ£Ή λ§Œλ“€κΈ° 및 λ‚΄κ°€ λ§Œλ“  κ·Έλ£Ή λ¦¬μŠ€νŠΈλ“€μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.



βœ… λ‘œλΉ„ νŽ˜μ΄μ§€ - λ‘œλΉ„ νŽ˜μ΄μ§€μ—μ„œλŠ” μ˜ˆμ•½λœ 회의 일정을 μΊ˜λ¦°λ”μ—μ„œ 확인할 수 있고, ν€΅λ²„νŠΌμ„ 톡해 λ‚΄ ν”„λ‘œν•„μ„ λ³΄κ±°λ‚˜ λ‚΄κ°€ λ§Œλ“  그룹의 회의λ₯Ό λ°”λ‘œ 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.



βœ… κ·Έλ£Ή ν™ˆ - νŠΉμ • κ·Έλ£Ή ν™ˆ νŽ˜μ΄μ§€μ—μ„œλŠ” 회의 생성, κ·Έλ£Ή 관리 외에 리포트 λͺ©λ‘κ³Ό κ·Έλ£Ή 멀버듀을 μ‘°νšŒν•  수 μžˆμŠ΅λ‹ˆλ‹€.



βœ… νšŒμ˜μ‹€ - νšŒμ˜μ‹€μ—μ„œλŠ” μ ‘μ†ν•œ 멀버듀끼리 webRTC 및 socket으둜 κ΅¬ν˜„λœ ν™”μƒμ±„νŒ…κ³Ό ν…μŠ€νŠΈ μ±„νŒ…μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ 멀버듀이 μ²΄ν¬ν•˜λŠ” μ•ˆκ±΄μ„ μ‹€μ‹œκ°„μœΌλ‘œ 확인할 수 있고, μ˜ˆμƒ μ’…λ£Œ μ‹œκ°„ 이후에 νšŒμ˜μ‹€μ— λ‚¨μ•„μžˆλŠ” 멀버가 1λͺ…일 μ‹œ 방이 5λΆ„ λ’€ μžλ™μœΌλ‘œ μ’…λ£Œλ©λ‹ˆλ‹€.

πŸ§‘β€πŸ€β€πŸ§‘ 멀버



FE_ν™©κ²½μˆ˜ 🚩

FE_κΉ€μž¬μ„±

FE_μ΄μž¬μ„±

FE_μ—¬μŠΉκ΅¬

FE_μ΅œμ›μ„

BE_μ†Œμ€€μ˜

DESIGN_μ‘°νš¨μ€

✨ 기술 μŠ€νƒ


FE

react typescript react-query zustand styled-components react-router vite axios
WebRTC Websocket stomp kurento utils

πŸ—‚οΈ 디렉토리 ꡬ쑰

└─ src
 β”œβ”€ api
 β”œβ”€ assets 
 β”œβ”€ components
 β”œβ”€ constants
 β”œβ”€ hooks
 β”œβ”€ pages
 β”œβ”€ stores
 β”œβ”€ styles
 β”œβ”€ utils
 β”œβ”€ App.tsx
 β”œβ”€ main.tsx
 └─ Router.tsx
  • src폴더
    • api : axios μΈμŠ€ν„΄μŠ€ μ„€μ • 및 api 호좜 ν•¨μˆ˜λ“€μ΄ μœ„μΉ˜ν•©λ‹ˆλ‹€.

    • assets : icons, images듀이 μœ„μΉ˜ν•©λ‹ˆλ‹€.

    • components : μ „μ—­μœΌλ‘œ μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ»΄ν¬λ„ŒνŠΈλ“€μ΄ μœ„μΉ˜ν•©λ‹ˆλ‹€.

    • constants : κ³΅ν†΅μ μœΌλ‘œ μ‚¬μš©λ˜λŠ” μƒμˆ˜λ“€μ„ μ •μ˜ν•œ νŒŒμΌλ“€μ΄ μœ„μΉ˜ν•©λ‹ˆλ‹€.

    • hooks : μ „μ—­μœΌλ‘œ μ“°μ΄λŠ” μ»€μŠ€ν…€ 훅듀이 μœ„μΉ˜ν•©λ‹ˆλ‹€. react-queryλ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό μ „μ—­μ μœΌλ‘œ κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ 훅도 이 폴더에 μœ„μΉ˜ν•©λ‹ˆλ‹€.

    • pages : react routerλ₯Ό μ΄μš©ν•˜μ—¬ λΌμš°νŒ…μ„ μ μš©ν•  λ•Œ νŽ˜μ΄μ§€ μ»΄ν¬λ„ŒνŠΈλ₯Ό 이 폴더에 μœ„μΉ˜μ‹œν‚΅λ‹ˆλ‹€. 각 νŽ˜μ΄μ§€ μ»΄ν¬λ„ŒνŠΈ λ§ˆλ‹€ μ•„λž˜ 디렉토리 ꡬ쑰λ₯Ό μ μš©ν•΄ ν•΄λ‹Ή νŽ˜μ΄μ§€μ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” μ»΄ν¬λ„ŒνŠΈ, ν›…, μœ ν‹Έ ν•¨μˆ˜ 등을 κ΄€λ¦¬ν•˜λ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€.

      └─ pages
        └─ login
          β”œβ”€ api
          β”œβ”€ components
          β”œβ”€ constants
          β”œβ”€ hooks
          β”œβ”€ utils
          β”œβ”€ types
          └─ index.tsx
      
    • stores : zustandλ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό μ „μ—­μ μœΌλ‘œ κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ ν΄λ”μž…λ‹ˆλ‹€.

    • styles : 전역적인 styledκ°€ λ‹΄κΈ΄ 폴더

    • utils : 자주 μ‚¬μš©λ˜λŠ” λ‘œμ§μ„ λ‹΄λŠ” 폴더


πŸ”Ž 브랜치 μ „λž΅

'EFFI'μ—μ„œλŠ” 4개의 브랜치λ₯Ό κ΄€λ¦¬ν•˜λŠ” Git Flow 브랜치 μ „λž΅μ„ μ‚¬μš©ν•©λ‹ˆλ‹€.

main

  • 항상 Stable ν•œ μƒνƒœμΈ Branchμž…λ‹ˆλ‹€.
  • λͺ¨λ“  컀밋은 μ–Έμ œλ“  배포할 수 μžˆλŠ” μƒνƒœμ—¬μ•Όν•˜λ©° μ–Έμ œλ“  Branchλ₯Ό μƒˆλ‘œ λ§Œλ“€μ–΄λ„ λ¬Έμ œκ°€ μ—†μ–΄μ•Ό ν•©λ‹ˆλ‹€. λ˜ν•œ Main Branch의 λͺ¨λ“  컀밋은 λΉŒλ“œκ°€ 되고 ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•΄μ•Όν•©λ‹ˆλ‹€.

develop

  • κ°œλ°œμ„ μœ„ν•œ μ½”λ“œκ°€ λ‹΄κΈ΄ Branchμž…λ‹ˆλ‹€.
  • 개발이 λͺ¨λ‘ μ™„λ£Œκ°€ 되면 Main Branch둜 merge λ©λ‹ˆλ‹€.

feature

  • μƒˆλ‘œμš΄ κΈ°λŠ₯을 κ°œλ°œν•  λ•Œμ—λŠ” feature 브랜치λ₯Ό develop λΈŒλžœμΉ˜λ‘œλΆ€ν„° μƒμ„±ν•©λ‹ˆλ‹€.
  • λ³„λ„λ‘œ hotfix 브랜치λ₯Ό κ΄€λ¦¬ν•˜μ§€ μ•ŠμœΌλ©°, 버그 μˆ˜μ •λ„ feature λΈŒλžœμΉ˜μ—μ„œ μ§„ν–‰ν•©λ‹ˆλ‹€.
  • feature 브랜치의 이름은 κΈ°λŠ₯을 μ„€λͺ…ν•˜λŠ” λͺ…ν™•ν•œ μ΄λ¦„μœΌλ‘œ 넀이밍 ν•΄μ•Όν•©λ‹ˆλ‹€. ex ) feature/user-content-cache
  • feature 브랜치의 컀밋은 κΈ°λŠ₯이 μ™„μ„±λ˜μ§€ μ•Šμ•˜λ”λΌλ„ νŒ€μ›λ“€κ°„ μ›ν• ν•œ μ†Œν†΅μ„ μœ„ν•΄ κΎΈμ€€νžˆ Pushν•©λ‹ˆλ‹€.
  • μƒˆλ‘œμš΄ κΈ°λŠ₯을 κ°œλ°œν•˜κΈ° μœ„ν•΄ feature 브랜치λ₯Ό μƒμ„±ν•˜κΈ°μ „ develop λΈŒλžœμΉ˜μ—μ„œ Pull을 ν•΄μ•Όν•©λ‹ˆλ‹€.
  • ν•΄λ‹Ή λΈŒλžœμΉ˜μ—μ„œ κΈ°λŠ₯κ°œλ°œμ„ μ™„λ£Œ ν›„ PR이 μŠΉμΈλ˜μ–΄ develop에 merge되면 remote μ €μž₯μ†Œμ— μžˆλŠ” ν•΄λ‹Ή κΈ°λŠ₯ λΈŒλžœμΉ˜λŠ” μ‚­μ œν•΄μ•Ό ν•©λ‹ˆλ‹€.

release

  • 이번 μΆœμ‹œ 버전을 μ€€λΉ„ν•˜λŠ” λΈŒλžœμΉ˜μž…λ‹ˆλ‹€.
  • 배포λ₯Ό μœ„ν•œ μ „μš© 브랜치λ₯Ό μ‚¬μš©ν•¨μœΌλ‘œμ¨ ν•œ νŒŒνŠΈκ°€ ν•΄λ‹Ή 배포λ₯Ό μ€€λΉ„ν•˜λŠ” λ™μ•ˆ λ‹€λ₯Έ νŒŒνŠΈλŠ” λ‹€μŒ 배포λ₯Ό μœ„ν•œ κΈ°λŠ₯ κ°œλ°œμ„ 계속할 수 μžˆμŠ΅λ‹ˆλ‹€.

About

πŸ–₯πŸ™β€β™‚οΈ μ‹€μ‹œκ°„ 화상 회의 μ„œλΉ„μŠ€

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5