Skip to content
forked from SSuSG/AirLingo

πŸ† 1:1 화상 μ–Έμ–΄ κ΅ν™˜ μ„œλΉ„μŠ€ - SSAFY 9κΈ° 곡톡 ν”„λ‘œμ νŠΈ μ΅œμš°μˆ˜μƒ

Notifications You must be signed in to change notification settings

yj0111/AirLingo

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AirLingo

πŸ“–λͺ©μ°¨


πŸ—“ ν”„λ‘œμ νŠΈ μ§„ν–‰ κΈ°κ°„

2023.07.04 ~ 2023.08.18 (μ•½ 7μ£Ό)


πŸ“‘ 주제

화상 μ±„νŒ…μ„ 기반으둜 ν•œ μ›μ–΄λ―Όκ³Όμ˜ μ–Έμ–΄ κ΅ν™˜ μ›Ή μ„œλΉ„μŠ€ ν”„λ‘œμ νŠΈ


πŸŽ‰ ν”„λ‘œμ νŠΈ 기획

ν”„λ‘œμ νŠΈκΈ°νš ν”„λ‘œμ νŠΈκΈ°νš

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

μ£Όμš”κΈ°λŠ₯ μ£Όμš”κΈ°λŠ₯

πŸ–₯ μ„œλΉ„μŠ€ ν™”λ©΄

ν™ˆ νŽ˜μ΄μ§€
ν™ˆνŽ˜μ΄μ§€ ν™ˆνŽ˜μ΄μ§€ ν™ˆνŽ˜μ΄μ§€ ν™ˆνŽ˜μ΄μ§€ ν™ˆνŽ˜μ΄μ§€
νšŒμ›κ°€μž… νŽ˜μ΄μ§€
νšŒμ›κ°€μž… νšŒμ›κ°€μž… νšŒμ›κ°€μž… νšŒμ›κ°€μž… νšŒμ›κ°€μž…
둜그인 νŽ˜μ΄μ§€
λ‘œκ·ΈμΈνŽ˜μ΄μ§€
λ§€μΉ­νŽ˜μ΄μ§€
λ§€μΉ­νŽ˜μ΄μ§€ λ§€μΉ­νŽ˜μ΄μ§€ λ§€μΉ­νŽ˜μ΄μ§€ λ§€μΉ­νŽ˜μ΄μ§€ λ§€μΉ­νŽ˜μ΄μ§€ λ§€μΉ­νŽ˜μ΄μ§€
λ―ΈνŒ…νŽ˜μ΄μ§€
λ―ΈνŒ…νŽ˜μ΄μ§€ λ―ΈνŒ…νŽ˜μ΄μ§€ λ―ΈνŒ…νŽ˜μ΄μ§€ λ―ΈνŒ…νŽ˜μ΄μ§€ λ―ΈνŒ…νŽ˜μ΄μ§€ λ―ΈνŒ…νŽ˜μ΄μ§€ λ―ΈνŒ…νŽ˜μ΄μ§€ λ―ΈνŒ…νŽ˜μ΄μ§€ λ―ΈνŒ…νŽ˜μ΄μ§€ λ―ΈνŒ…νŽ˜μ΄μ§€
ν”„λ‘œν•„νŽ˜μ΄μ§€
ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€ ν”„λ‘œν•„νŽ˜μ΄μ§€

πŸ—οΈ 아킀텍쳐

Group 8

πŸ›  기술 μŠ€νƒ

기술 μŠ€νƒ

상세 기술 μŠ€νƒ

더보기

πŸ“‚ 파일 ꡬ쑰

ν”„λ‘ νŠΈ ν”„λ‘œμ νŠΈ ꡬ쑰
πŸ“¦src
 ┣ πŸ“‚api
 ┣ πŸ“‚assets
 ┃ ┣ πŸ“‚fonts
 ┃ ┣ πŸ“‚icons
 ┃ ┣ πŸ“‚imgs
 ┃ ┃ ┣ πŸ“‚profiles
 ┃ β”— πŸ“‚styles
 ┣ πŸ“‚components
 ┃ ┣ πŸ“‚buttonMenu
 ┃ ┣ πŸ“‚chatList
 ┃ ┣ πŸ“‚common
 ┃ ┃ ┣ πŸ“‚button
 ┃ ┃ ┣ πŸ“‚container
 ┃ ┃ ┣ πŸ“‚dropdown
 ┃ ┃ ┣ πŸ“‚input
 ┃ ┃ ┣ πŸ“‚overlay
 ┃ ┃ ┣ πŸ“‚profile
 ┃ ┃ ┣ πŸ“‚slideMenu
 ┃ ┃ ┣ πŸ“‚tab
 ┃ ┃ β”— πŸ“‚tooltip
 ┃ ┣ πŸ“‚dialoglist
 ┃ ┣ πŸ“‚drawing
 ┃ ┣ πŸ“‚grade
 ┃ ┣ πŸ“‚header
 ┃ ┣ πŸ“‚langList
 ┃ ┣ πŸ“‚loading
 ┃ ┣ πŸ“‚modal
 ┃ ┃ ┣ πŸ“‚login
 ┃ ┃ ┣ πŸ“‚match
 ┃ ┃ ┃ ┣ πŸ“‚matchhome
 ┃ ┃ ┣ πŸ“‚meeting
 ┃ ┃ ┣ πŸ“‚mypage
 ┃ ┃ ┣ πŸ“‚wordBook
 ┃ ┣ πŸ“‚musicPlayer
 ┃ ┣ πŸ“‚profileBar
 ┃ ┣ πŸ“‚progressBar
 ┃ ┣ πŸ“‚ScriptEditor
 ┃ ┣ πŸ“‚starRate
 ┃ ┣ πŸ“‚validationList
 ┃ β”— πŸ“‚videoFrame
 ┣ πŸ“‚config
 ┣ πŸ“‚features
 ┃ ┣ πŸ“‚Meeting
 ┃ β”— πŸ“‚User
 ┣ πŸ“‚hooks
 ┃ ┣ πŸ“‚whiteboard
 ┣ πŸ“‚Layout
 ┣ πŸ“‚pages
 ┃ ┣ πŸ“‚Error
 ┃ ┣ πŸ“‚home
 ┃ ┣ πŸ“‚login
 ┃ ┣ πŸ“‚match
 ┃ ┣ πŸ“‚meeting
 ┃ ┃ ┣ πŸ“‚screen
 ┃ ┃ ┣ πŸ“‚slide
 ┃ ┣ πŸ“‚mypage
 ┃ ┣ πŸ“‚signup
 ┣ πŸ“‚store
 ┣ πŸ“‚utils
 ┣ πŸ“œApp.jsx
 ┣ πŸ“œmain.jsx
 β”— πŸ“œrouter.jsx

λ°±μ—”λ“œ ν”„λ‘œμ νŠΈ ꡬ쑰
πŸ“¦airlingo
┣ πŸ“‚domain
 ┃ ┣ πŸ“‚chat
 ┃ ┃ ┣ πŸ“‚controller
 ┃ ┃ ┣ πŸ“‚entity
 ┃ ┃ ┣ πŸ“‚repository
 ┃ ┃ β”— πŸ“‚service
 ┃ ┣ πŸ“‚content
 ┃ ┃ ┣ πŸ“‚controller
 ┃ ┃ ┣ πŸ“‚dto
 ┃ ┃ ┃ ┣ πŸ“‚request
 ┃ ┃ ┃ β”— πŸ“‚response
 ┃ ┃ ┣ πŸ“‚entity
 ┃ ┃ ┣ πŸ“‚repository
 ┃ ┃ β”— πŸ“‚service
 ┃ ┣ πŸ“‚language
 ┃ ┃ ┣ πŸ“‚controller
 ┃ ┃ ┣ πŸ“‚dto
 ┃ ┃ ┃ ┣ πŸ“‚request
 ┃ ┃ ┃ β”— πŸ“‚response
 ┃ ┃ ┣ πŸ“‚entity
 ┃ ┃ ┣ πŸ“‚repository
 ┃ ┃ β”— πŸ“‚service
 ┃ ┣ πŸ“‚matching
 ┃ ┃ ┣ πŸ“‚controller
 ┃ ┃ ┣ πŸ“‚request
 ┃ ┃ ┣ πŸ“‚response
 ┃ ┃ β”— πŸ“‚service
 ┃ ┣ πŸ“‚report
 ┃ ┃ ┣ πŸ“‚controller
 ┃ ┃ ┣ πŸ“‚dto
 ┃ ┃ ┃ ┣ πŸ“‚request
 ┃ ┃ ┃ β”— πŸ“‚response
 ┃ ┃ ┣ πŸ“‚entity
 ┃ ┃ ┣ πŸ“‚repository
 ┃ ┃ β”— πŸ“‚service
 ┃ ┣ πŸ“‚study
 ┃ ┃ ┣ πŸ“‚controller
 ┃ ┃ ┣ πŸ“‚dto
 ┃ ┃ ┃ ┣ πŸ“‚request
 ┃ ┃ ┃ β”— πŸ“‚response
 ┃ ┃ ┣ πŸ“‚entity
 ┃ ┃ ┣ πŸ“‚repository
 ┃ ┃ β”— πŸ“‚service
 ┃ ┣ πŸ“‚user
 ┃ ┃ ┣ πŸ“‚controller
 ┃ ┃ ┣ πŸ“‚dto
 ┃ ┃ ┃ ┣ πŸ“‚request
 ┃ ┃ ┃ β”— πŸ“‚response
 ┃ ┃ ┣ πŸ“‚entity
 ┃ ┃ ┣ πŸ“‚repository
 ┃ ┃ β”— πŸ“‚service
 ┃ β”— πŸ“‚word
 ┃ ┃ ┣ πŸ“‚controller
 ┃ ┃ ┣ πŸ“‚dto
 ┃ ┃ ┃ ┣ πŸ“‚request
 ┃ ┃ ┃ β”— πŸ“‚response
 ┃ ┃ ┣ πŸ“‚entity
 ┃ ┃ ┣ πŸ“‚repository
 ┃ ┃ β”— πŸ“‚service
 ┣ πŸ“‚global
 ┃ ┣ πŸ“‚config
 ┃ ┣ πŸ“‚entity
 ┃ ┣ πŸ“‚exception
 ┃ ┣ πŸ“‚handler
 ┃ ┣ πŸ“‚openvidu
 ┃ ┣ πŸ“‚rabbitmq
 ┃ ┣ πŸ“‚response
 ┃ β”— πŸ“‚util
 β”— πŸ“œAirlingoApplication.java

πŸ“ 섀계 λ¬Έμ„œ

ERD

ERD
ERD νŽ˜μ΄μ§€

API

전체 λ¬Έμ„œ
전체 λ¬Έμ„œ νŽ˜μ΄μ§€
Request
Request νŽ˜μ΄μ§€
Response
Response νŽ˜μ΄μ§€

FIGMA

FIGMA
ν”Όκ·Έλ§ˆ νŽ˜μ΄μ§€

πŸ“š μ»¨λ²€μ…˜

Ground Rule

ν΄λ¦­ν•˜μ—¬ λ‚΄μš© ν‘œμ‹œ/숨기기

GROUND RULE

πŸ₯‡ ν”„λ‘œμ νŠΈ μˆ˜μΉ™

πŸ’» 회의 μ§„ν–‰

  1. 맀일 μ˜€μ „ 9μ‹œ, μ˜€ν›„ 5μ‹œ 2νšŒμ— 걸쳐 **데일리 슀크럼(Daily Scrum)**을 μ§„ν–‰ν•΄, κ°œμΈλ³„ 당일 λͺ©ν‘œλ₯Ό μ„€μ •ν•˜κ³  μ§„ν–‰ 상황을 κ³΅μœ ν•©λ‹ˆλ‹€.
  2. λ§€μ£Ό κΈˆμš”μΌ μ˜€ν›„ 5μ‹œμ— **μŠ€ν”„λ¦°νŠΈ μ„Έμ…˜(Sprint Session)**을 μ§„ν–‰ν•΄ 일주일간 ν”„λ‘œμ νŠΈμ˜ μ§„ν–‰ 상황 및 μΆ”ν›„ μ§„ν–‰ λͺ©ν‘œλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.
  3. 데일리 슀크럼과 μŠ€ν”„λ¦°νŠΈ μ„Έμ…˜μ€ νŒ€μž₯이 회의λ₯Ό μ£Όμž¬ν•˜κ³ , λ‹€λ₯Έ νŒ€μ›λ“€μ΄ λŒμ•„κ°€λ©° νšŒμ˜λ‘μ„ μž‘μ„±ν•©λ‹ˆλ‹€.
  4. νšŒμ˜μ— 적극적으둜 μ°Έμ—¬ν•˜κ³ , νŒ€μž₯의 μ§€λͺ©μ— 따라 본인의 μ˜κ²¬μ„ λ°˜λ“œμ‹œ μ œμ‹œν•©λ‹ˆλ‹€.

πŸ’» μ½”λ“œ 리뷰

  1. **μ½”λ“œ 리뷰(Code Review)**λŠ” μ μ‹¬μ‹œκ°„μ„ ν™œμš©ν•΄ ν•„μš”ν•œ λΆ€λΆ„λ§Œ κ°„λ‹¨νžˆ 30λΆ„ λ™μ•ˆ μ§„ν–‰ν•©λ‹ˆλ‹€.
  2. μ„œλ‘œ λ‹€λ₯Έ μ½”λ“œ μŠ€νƒ€μΌμ„ ν•©μ˜ν•œ **μ½”λ”© μ»¨λ²€μ…˜(Coding Convention)**에 따라 μΌμ›ν™”ν•©λ‹ˆλ‹€.
  3. μ½”λ“œ λ¦¬λ·°λŠ” μš°μ„ μˆœμœ„μ— 따라 λΉ λ₯΄κ²Œ μ§„ν–‰ν•˜λ©°, μ‚¬μ†Œν•œ μ˜κ²¬μ„ λ°˜μ˜ν•  지에 λŒ€ν•œ 뢀뢄은 μ½”λ“œ μž‘μ„±μžκ°€ 선택할 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.

πŸ’» μ½”λ“œ μž‘μ„±

  1. μ—λŸ¬(Error)κ°€ λ°œμƒ μ‹œ 1μ‹œκ°„ μ •λ„λŠ” ν˜Όμžμ„œ 고민해보고, 해결이 λ˜μ§€ μ•Šμ„ 경우 νŒ€μ›λ“€κ³Ό λ°”λ‘œ κ³΅μœ ν•©λ‹ˆλ‹€.
  2. μ—λŸ¬λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ κ³ λ―Όν•œ λ‚΄μš© 및 ν•΄κ²° 과정은 λ…Έμ…˜μ— μ •λ¦¬ν•˜μ—¬ κ³΅μœ ν•©λ‹ˆλ‹€.
  3. μ½”λ“œμ— 주석(Comment)을 μž‘μ„±ν•˜λŠ” μŠ΅κ΄€μ„ μƒν™œν™”ν•˜μ—¬, λ‹€λ₯Έ νŒ€μ›λ“€μ΄ λ‚΄κ°€ μž‘μ„±ν•œ μ½”λ“œλ₯Ό μ΄ν•΄ν•˜κΈ° 쉽도둝 ν•©λ‹ˆλ‹€.
  4. κΈ°λŠ₯의 κ΅¬ν˜„ 원리λ₯Ό κ³΅λΆ€ν•˜κ³  νŒŒμ•…ν•˜κΈ° μœ„ν•΄μ„œ μ˜€ν”ˆ μ†ŒμŠ€(Open Source) 라이브러리 μ‚¬μš©μ„ μ΅œμ†Œν™”ν•˜λŠ” 것을 μ›μΉ™μœΌλ‘œ ν•©λ‹ˆλ‹€.

πŸ’» κΉƒ 관리

  1. ν’€λ¦¬ν€˜μŠ€νŠΈ(Pull Request)κ°€ μžˆμ„ 경우, 이λ₯Ό ν™•μΈν–ˆλ‹€λŠ” μ˜λ―Έμ—μ„œ μ΅œμ†Œν•œ 1개 μ΄μƒμ˜ μ˜κ²¬μ„ 남겨야 ν•©λ‹ˆλ‹€.
  2. ν’€λ¦¬ν€˜μŠ€νŠΈ μ‹œ 의견 κ°ˆλ“±μ΄ 생겼닀면, μΆ©λΆ„ν•œ ν† λ‘ κ³Ό 의견 수렴 과정을 거쳐 λ‹€μˆ˜μ˜ μ˜κ²¬μ„ 따라야 ν•©λ‹ˆλ‹€.
  3. 컀밋(Commit)ν•˜κΈ° 전에 κ³ μΉ  뢀뢄을 ν•œ 번 더 μ κ²€ν•©λ‹ˆλ‹€.
  4. 1κ°€μ§€ κΈ°λŠ₯ λ˜λŠ” 1κ°€μ§€ ν•¨μˆ˜λ₯Ό μƒˆλ‘œ λ§Œλ“€ λ•Œλ§ˆλ‹€ μ»€λ°‹ν•˜λŠ” μŠ΅κ΄€μ„ μƒν™œν™”ν•©λ‹ˆλ‹€.
  5. **컀밋 λ©”μ‹œμ§€(Commit Message)**λŠ” ν•©μ˜ν•œ **컀밋 μ»¨λ²€μ…˜(Commit Convention)**에 따라 μ΅œλŒ€ν•œ μƒμ„Έν•˜κ²Œ μž‘μ„±ν•©λ‹ˆλ‹€.
  6. κΉƒ 브랜치(Branch) κ·œμΉ™μ— 따라 브랜치λ₯Ό κ΄€λ¦¬ν•˜κ³ , λͺ¨λ“  μž‘μ—…μ€ μ˜¬λ°”λ₯Έ λΈŒλžœμΉ˜μ—μ„œ μž‘μ—…ν•΄μ•Ό ν•©λ‹ˆλ‹€.

πŸ₯ˆ μƒν™œ μˆ˜μΉ™

πŸ’» 개인 일정 관리 및 연락

  1. 개인 일정이 생긴 경우 λ°˜λ“œμ‹œ 미리 λ‹€λ₯Έ νŒ€μ›λ“€μ—κ²Œ κ³΅μœ ν•©λ‹ˆλ‹€.
  2. ν”„λ‘œμ νŠΈ 쀑간에 μ·¨μ—… λ“±μœΌλ‘œ μˆ˜λ£Œν•˜κ²Œ 된 경우, λ„μ˜μ  μ°¨μ›μ—μ„œ 곡톡 ν”„λ‘œμ νŠΈλ₯Ό λ§ˆλ¬΄λ¦¬ν•˜κ³  κ°€μ•Ό ν•©λ‹ˆλ‹€.
  3. μΉ΄μΉ΄μ˜€ν†‘(KakaoTalk), λ””μŠ€μ½”λ“œ(Discord), λ§€ν„°λͺ¨μŠ€νŠΈ(Mattermost) 등을 ν†΅ν•œ 연락을 ν™•μΈν–ˆμ„ λ•ŒλŠ”, ν™•μΈν–ˆλ‹€λŠ” 의미의 λ‹΅λ³€ λ˜λŠ” 이λͺ¨μ§€(Emoji)둜 ν‘œμ‹œν•©λ‹ˆλ‹€.
  4. λ§€μ£Ό κΈˆμš”μΌ λ…Όμ˜ν•΄, 주말 쀑 ν•˜λ£¨λŠ” 슀트레슀 관리 및 개인 곡뢀λ₯Ό μœ„ν•œ μ‹œκ°„μœΌλ‘œ ν™œμš©ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.

πŸ’» 개인 건강 및 μœ„μƒ 관리

  1. ꡐ윑μž₯μ—μ„œ ν‡΄μ‹€ν•˜κΈ° 전에 자기 자리λ₯Ό κΉ”λ”ν•˜κ²Œ μ •λ¦¬μ •λˆν•©λ‹ˆλ‹€.
  2. λͺΈμ΄ μ•„ν”„λ©΄, λ―Έμ•ˆν•΄ν•˜μ§€ μ•Šκ³  λΉ λ₯΄κ²Œ νšŒλ³΅ν•  수 μžˆλ„λ‘ ν‘Ή μ‰¬λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€.
  3. λ°₯을 λ“ λ“ νžˆ λ¨Ήκ³ , κ΅Άμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. β€œμž˜ λ¨Ήκ³  죽은 κ°œλ°œμžκ°€ λ•ŒκΉ”λ„ κ³±μŠ΅λ‹ˆλ‹€.”

πŸ₯‰ λ§ˆμΈλ“œμ…‹ μˆ˜μΉ™

πŸ’» λ§ˆμΈλ“œμ…‹

  1. 적극성 : νšŒμ˜λ‚˜ μ½”λ“œ 리뷰 λ•Œ 의견이 μžˆλ‹€λ©΄ 망섀이지 μ•Šκ³  μ˜κ²¬μ„ μ΄μ•ΌκΈ°ν•©λ‹ˆλ‹€. β€œλ§ν• κΉŒ 말까 ν•  λ•ŒλŠ” 말해야 ν•©λ‹ˆλ‹€.”
  2. 긍정적인 νƒœλ„ : ν”„λ‘œμ νŠΈμ— μž„ν•  λ•ŒλŠ” μ›ƒμœΌλ©΄μ„œ 재미있게 ν•©μ‹œλ‹€. β€œν–‰λ³΅ν•˜κΈ° λ•Œλ¬Έμ— μ›ƒλŠ” 것이 μ•„λ‹ˆκ³  웃기 λ•Œλ¬Έμ— ν–‰λ³΅ν•©λ‹ˆλ‹€.”
  3. μ†Œν†΅ : λ‹€λ₯Έ νŒ€μ›μ˜ μ˜κ²¬μ„ μ‘΄μ€‘ν•˜κ³ , 말을 λŠμ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€. 의견이 λ‹€λ₯΄λ©΄, λŒ€ν™”λ₯Ό 톡해 νƒ€ν˜‘μ μ„ μ°Ύμ•„μ•Ό ν•©λ‹ˆλ‹€.
  4. ν˜‘λ ₯ : νŒ€μ›μ΄ νž˜λ“€μ–΄ν•˜λŠ” 뢀뢄이 μžˆλ‹€λ©΄, μ›ƒμœΌλ©΄μ„œ 도와주어야 ν•©λ‹ˆλ‹€. 도움을 μ€„μˆ˜λ‘ λ‚˜μ˜ μ‹€λ ₯도 ν•¨κ»˜ μ˜¬λΌκ°‘λ‹ˆλ‹€.
  5. μ‹ λ’° : λ‹€λ₯Έ νŒ€μ›λ“€μ˜ μ±…μž„κ°κ³Ό μ‹€λ ₯에 λŒ€ν•΄ λ―ΏμŒμ„ μžƒμ§€ λ§™μ‹œλ‹€.

Git Commit

ν΄λ¦­ν•˜μ—¬ λ‚΄μš© ν‘œμ‹œ/숨기기

COMMIT CONVENTION

  • Commit λ©”μ„Έμ§€ ꡬ쑰
    • ex) ✨ feat : Add sign in page #S09P11A308-52
<emoji> <type> : <subject> <Jira ticket number> // ν•„μˆ˜
// 빈 ν–‰μœΌλ‘œ ꡬ뢄
<body>      // μƒλž΅κ°€λŠ₯
// 빈 ν–‰μœΌλ‘œ ꡬ뢄
<footer>    // μƒλž΅κ°€λŠ₯

Git Branch

ν΄λ¦­ν•˜μ—¬ λ‚΄μš© ν‘œμ‹œ/숨기기

브랜치 λͺ…λͺ… μ»¨λ²€μ…˜

BRANCH NAMING CONVENTION

Git flow

  • ex) feat/{이슈 ν‚€}-{BE/FE}-{이슈 μš”μ•½}

  • master / main - μ œν’ˆμœΌλ‘œ μΆœμ‹œ 및 배포가 κ°€λŠ₯ν•œ μƒνƒœμΈ 브랜치 β†’ μ΅œμ’… κ²°κ³Όλ¬Ό 제좜 μš©λ„

  • develop - λ‹€μŒ μΆœμ‹œ 버전을 κ°œλ°œν•˜λŠ” 브랜치 β†’ κΈ°λŠ₯ μ™„μ„± ν›„ 쀑간에 μ·¨ν•©ν•˜λŠ” μš©λ„

  • feature - 각쒅 κΈ°λŠ₯을 κ°œλ°œν•˜λŠ” 브랜치 β†’ feat/login, feat/join λ“±μœΌλ‘œ κΈ°λŠ₯ λΆ„λ₯˜ ν›„ μž‘μ—…

  • hotfix - μΆœμ‹œ λ²„μ „μ—μ„œ λ°œμƒν•œ 버그λ₯Ό μˆ˜μ •ν•˜λŠ” 브랜치

Codding

ν΄λ¦­ν•˜μ—¬ λ‚΄μš© ν‘œμ‹œ/숨기기

CODING CONVENTION

  • 1문자의 이름은 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
  • λ„€μž„μŠ€νŽ˜μ΄μŠ€, 였브젝트, ν•¨μˆ˜ 그리고 μΈμŠ€ν„΄μŠ€μ—λŠ” camelCaseλ₯Ό μ‚¬μš©ν•œλ‹€ ex) camelCase
  • ν΄λž˜μŠ€λ‚˜ constructorμ—λŠ” PascalCaseλ₯Ό μ‚¬μš©ν•œλ‹€. ex) PascalCase
  • μ•½μ–΄ 및 μ΄λ‹ˆμ…œμ€ 항상 λͺ¨λ‘ λŒ€λ¬Έμžμ΄κ±°λ‚˜ λͺ¨λ‘ μ†Œλ¬Έμžμ—¬μ•Ό ν•œλ‹€. ex) NFT
  • 클래슀λͺ…κ³Ό λ³€μˆ˜λͺ…은 λͺ…사 μ‚¬μš©
  • λ©”μ„œλ“œλͺ…은 동사 μ‚¬μš©
  • μƒμˆ˜λͺ…은 λŒ€λ¬Έμžλ₯Ό μ‚¬μš©ν•˜κ³ , 단어와 단어 μ‚¬μ΄λŠ” _둜 μ—°κ²°ν•œλ‹€.
  • componentλŠ” PascalCaseλ₯Ό μ‚¬μš©ν•œλ‹€.

Jira

ν΄λ¦­ν•˜μ—¬ λ‚΄μš© ν‘œμ‹œ/숨기기

JIRA CONVENTION

  1. λ§€μ£Ό μ›”μš”μΌ μ˜€μ „ 슀크럼 회의 이후 각자의 이슈 티켓을 μƒμ„±ν•œλ‹€.
  2. 이슈 생성 μ‹œ 확인해야 ν•  λΆ€λΆ„
    • λ‹΄λ‹Ήμžκ°€ 본인으둜 μ„€μ •λ˜μ–΄ μžˆλŠ”μ§€
    • μ»΄ν¬λ„ŒνŠΈκ°€ μ§€μ •λ˜μ–΄ μžˆλŠ”μ§€ (FE, BE, 곡톡 쀑 택1)
    • Epic Linkκ°€ μ§€μ •λ˜μ–΄ μžˆλŠ”μ§€ (섀계, FE개발, BE개발, 회의, ν•™μŠ΅β€¦)
    • μŠ€ν”„λ¦°νŠΈμ˜ 총 Story Pointsκ°€ 40 이상인지
  3. 이슈 ν‹°μΌ“ 이름은 [말머리] ꡬ체적인 κΈ°λŠ₯ 으둜 μ λŠ”λ‹€.
    • ****************************κΈ°λŠ₯ κ΄€λ ¨ 이슈일 경우 **************[말머리]**************λŠ” κΈ°λŠ₯ λͺ…μ„Έμ„œμ˜ λŒ€λΆ„λ₯˜λ₯Ό λ”°λ₯Έλ‹€.
  4. 맀일 μ˜€μ „ 슀크럼 회의 이후 κ·Έ λ‚  μ²˜λ¦¬ν•  이슈 티켓을 μ§„ν–‰ μ€‘μœΌλ‘œ μ΄λ™μ‹œν‚¨λ‹€.
    • μ‹€μ‹œκ°„μœΌλ‘œ 이슈λ₯Ό μ²˜λ¦¬ν•  λ•Œλ§ˆλ‹€ μ™„λ£Œ μ²˜λ¦¬ν•œλ‹€.

πŸ“„ λ¬Έμ„œ 정리

회의둝

νŽ˜μ΄μ§€ 전체 λͺ¨μŠ΅
전체 νŽ˜μ΄μ§€ 전체 νŽ˜μ΄μ§€ 전체 νŽ˜μ΄μ§€
기획 회의둝 νŽ˜μ΄μ§€ μ„ΈλΆ€ λͺ¨μŠ΅
기획 회의둝 νŽ˜μ΄μ§€ μ„ΈλΆ€ λͺ¨μŠ΅
슀크럼 νŽ˜μ΄μ§€ μ„ΈλΆ€ λͺ¨μŠ΅
슀크럼 νŽ˜μ΄μ§€ μ„ΈλΆ€ λͺ¨μŠ΅
μŠ€ν”„λ¦°νŠΈ νŽ˜μ΄μ§€ μ„ΈλΆ€ λͺ¨μŠ΅
μŠ€ν”„λ¦°νŠΈ νŽ˜μ΄μ§€ μ„ΈλΆ€ λͺ¨μŠ΅

버그 리포트

νŽ˜μ΄μ§€ 전체 λͺ¨μŠ΅
전체 νŽ˜μ΄μ§€
μ„ΈλΆ€ νŽ˜μ΄μ§€ λͺ¨μŠ΅
전체 νŽ˜μ΄μ§€

지식 곡유

νŽ˜μ΄μ§€ 전체 λͺ¨μŠ΅
전체 νŽ˜μ΄μ§€
μ„ΈλΆ€ νŽ˜μ΄μ§€ λͺ¨μŠ΅
전체 νŽ˜μ΄μ§€

πŸ’» ꡬ동 방법

  • 둜컬 ꡬ동 κΈ°μ€€μœΌλ‘œ μž‘μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  1. clone Project
git clone https://lab.ssafy.com/s09-webmobile1-sub2/AirLingo.git
  1. change path to /frontend/airlingo
npm i --legacy-peer-deps
  1. create .env file in /frontend/airlingo/
VITE_SERVER_URL={your_server_url}
VITE_SOCKET_URL={your_socket_url}
VITE_CHAT_SOCKET_URL={your_chat_socket_url}
  1. input frontend run script
npm run dev
  1. change path to /backend/airlingo/src/main/resources
application.yml

cloud:
  aws:
    s3:
      bucket: ${your-bucket-name}
    credentials:
      accessKey: ${your-access-key}
      secretKey: ${your-secret-key}
    region:
      static: ap-northeast-2
      auto: false
    stack:
      auto: false
application-dev.yml

spring:
  jpa:
    hibernate:
      ddl-auto: create #create update none
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: ${your-db-url}
    username: ${your-db-username}
    password: ${your-db-password}
  rabbitmq:
    host: localhost
    port: 5672
    username: ${your-rabbitmq-username}
    password: ${your-rqbbitmq-password}
    
openviduUrl: ${your-openvidu-url}
openviduSecret: ${your-openvidu-secret}
  1. install docker,openvidu,redis,rabbitmq
  2. run openvidu
docker run -p 4443:4443 --rm -e OPENVIDU_SECRET=MY_SECRET openvidu/openvidu-dev:2.28.0
  1. change path /matching/airlingo
  2. run docker-compose.yaml for rabbitmq
  3. run backend,matching program

πŸ’Ύ κ²°κ³Όλ¬Ό

UCC

https://youtu.be/8numB_R7RLE

μ‹œμ—° μ˜μƒ

https://www.youtube.com/watch?v=WcZEspXgMLA

PPT


❀ νŒ€ μ†Œκ°œ

νŒ€λͺ…

πŸ“’ μ•ˆλ…•ν•˜μ„Έμš”! μ‚Όμ„± μ²­λ…„ μ†Œν”„νŠΈμ›¨μ–΄ 아카데미(SSAFY) μ„œμšΈ 3반 κ΅μœ‘μƒμœΌλ‘œ 쑰직된 ν”„λ‘œμ νŠΈ νŒ€ β€˜κ°œλ°œμžλ“€β€™μž…λ‹ˆλ‹€. ν”„λ‘œμ νŠΈ μ§„ν–‰ κ³Όμ •μ—μ„œ λ°œμƒν•˜λŠ” λ§Žμ€ 문제λ₯Ό νŒ€μ› κ°„ κ³΅μœ ν•˜κ³  해결책을 λͺ¨μƒ‰ν•˜λ©΄μ„œ ν•¨κ»˜ μ„±μž₯ν•˜λŠ” 기회둜 μ‚Όκ² μŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€.

νŒ€λͺ…μ˜ 의미

각쒅 μ˜ν™”λ‚˜ λ¬Έν™” μ½˜ν…μΈ μ—μ„œ μ‚¬μš©ν•˜λŠ” β€˜~λ“€β€™μ˜ ν‘œν˜„μ„ μ‚¬μš©ν•΄ 미래의 개발자λ₯Ό κΏˆκΎΈλŠ” μ—¬μ„― λͺ…μ˜ νŒ€μ›μ΄ λͺ¨μ˜€λ‹€λŠ” 의미λ₯Ό λ‹΄μ•˜μŠ΅λ‹ˆλ‹€.

Frontend

고건 κΉ€μˆ˜ν™˜

Backend

κΉ€ν•˜λ¦Ό λ¬Έμˆ˜μ • λ°•μ‹œκ·  μ˜€μœ μ •

About

πŸ† 1:1 화상 μ–Έμ–΄ κ΅ν™˜ μ„œλΉ„μŠ€ - SSAFY 9κΈ° 곡톡 ν”„λ‘œμ νŠΈ μ΅œμš°μˆ˜μƒ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published