Skip to content
Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

317 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Eventty

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

저희 ν”„λ‘œμ νŠΈλŠ” μ‚¬μš©μžμ˜ 역할을 호슀트(주졜자)와 μ°Έμ—¬μžλ‘œ λ‚˜λˆ„μ–΄ 행사λ₯Ό 주졜λ₯Ό ν•˜κ³ , μ°Έμ—¬(지원)λ₯Ό ν•  수 μžˆλ„λ‘ μ€‘κ°œν•΄μ£ΌλŠ” μ€‘κ°œ ν”Œλž«νΌμž…λ‹ˆλ‹€.

ν΄λΌμš°λ“œλ₯Ό ν™œμš©ν•˜μ—¬ ν΄λΌμš°λ“œ 기반 데이터 ν”Œλž«νΌμ„ κ΅¬μƒν•˜μ˜€κ³ , ν•΄λ‹Ή ν”Œλž«νΌμ—μ„œ κ°•λ ₯ν•œ μ•„ν‚€ν…μ²˜μ΄λ©΄μ„œ λ§Žμ€ κΈ°μ—…λ“€μ—μ„œ μ‚¬μš©ν•˜κ³  μžˆλŠ” MSAλ₯Ό κ²½ν—˜ν•˜κ³  ν•™μŠ΅ν•΄λ³΄κΈ° μœ„ν•΄ μ„ νƒν•˜μ˜€μŠ΅λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ λͺ©ν‘œ

ν•΄λ‹Ή ν”„λ‘œμ νŠΈμ—μ„œ MSAλ₯Ό μ„ νƒν•¨μœΌλ‘œμ¨ ν˜„μ—…μ—μ„œ 닀루고 μžˆλŠ” λ³΄μ•ˆ, 톡신 λ“±μ˜ 문제λ₯Ό κ²½ν—˜ν•˜κ³  고민을 톡해 ν•΄κ²°ν•˜κ³ μž ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

λ‹¨μˆœνžˆ κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λŠ” 것에 κ·ΈμΉ˜λŠ” 것이 μ•„λ‹Œ κ°€μ§€κ³  μžˆλŠ” CS 지식듀을 ν™œμš©ν•˜κ³  νŒ€μ›λ“€κ³Όμ˜ λ…Όμ˜λ₯Ό 톡해 문제 ν•΄κ²° μ—­λŸ‰μ„ ν‚€μš°λŠ” 것에 λͺ©μ μ„ λ‘μ—ˆμŠ΅λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ ꡬ쑰

ν”„λ‘œμ νŠΈ μ£Όμš” 관심사

곡톡

ν”„λ‘ νŠΈμ—”λ“œ

  • UI ➑️ Frontend README
  • λ°˜μ‘ν˜• λ ˆμ΄μ–΄(PC, Mobile) ➑️ Media Query
  • μ»΄ν¬λ„ŒνŠΈ μž¬μ‚¬μš©
  • νŒ¨ν‚€μ§• ➑️ κΈ°λŠ₯ β†’ νŽ˜μ΄μ§€ β†’ λ””λ°”μ΄μŠ€ 순

λ°±μ—”λ“œ

  • κΈ°μ΄ˆμ— 집쀑
    • SOLID 원칙
    • ACID와 Transaction
    • 좔상화, μΊ‘μŠν™”, λ‹€ν˜•μ„± 및 관심사 뢄리
    • μ˜ˆμ™Έ 처리 ➑️ μ˜ˆμ™Έ μ „ν™˜(Custom Exception)
  • λͺ¨λ†€λ¦¬μ‹κ³Όμ˜ 차별점
    • ν™•μž₯μ„± ➑️ μ„œλ²„λ₯Ό μ–΄λ–»κ²Œ 뢄리할 것인가
    • REST API 톡신 ➑️ Restful API 톡신
    • μ„œλ²„ κ°„μ˜ 톡신 ➑️ 동기 ν˜Ήμ€ 비동기 방식 톡신
    • 개발 ν™˜κ²½ ꡬ좕 ➑️ Docker Compose 적용
    • 톡신 λ³΄μ•ˆμ μΈ μΈ‘λ©΄ κ³ λ € ➑️ ν•„ν„° μˆ˜μ€€ λ³΄μ•ˆ => κ²Œμ΄νŠΈμ›¨μ΄ 및 μΈμ¦μ„œλ²„ μˆ˜μ€€ λ³΄μ•ˆ(링크)
    • 전체 λ³΄μ•ˆ μˆ˜μ€€ κ³ λ € ➑️ JWT, CSRF λ°œκΈ‰ 및 검증 방식(링크)
    • λ‘œκΉ… 좔적 ➑️ κ΅¬μ²΄ν™”λœ λ‘œκΉ… 방식 및 μ˜ˆμ™Έ 처리 방식 + λΆ„μ‚° 좔적
  • νŒ¨ν‚€μ§• μ „λž΅
    • DDD: Domain Drive Design
  • 각쒅 νŒ¨ν„΄λ“€
    • 싱글톀 νŒ¨ν„΄(Singleton Pattern)
    • νŒŒμ‚¬λ“œ νŒ¨ν„΄(Facade Pattern)
    • ν”„λ‘μ‹œ νŒ¨ν„΄(Proxy Pattern)
    • νŒ©ν† λ¦¬ νŒ¨ν„΄(Factory Pattern)
    • μ „λž΅ νŒ¨ν„΄(Strategy Pattern)
  • MSAλ₯Ό μ μš©ν•΄μ„œ 고렀된 κΈ°λŠ₯ => 심화 κΈ°λŠ₯(MSA ν™˜κ²½ κ³ λ €)
    • Response Format 톡일 ➑️ LSP μœ„λ°° κ³ λ €, ResponseBodyAdvice λ„μž…
    • Context 객체 λ„μž… ➑️ User ID, Authorities, Tracking ID
    • Global Filter, AOP ➑️ Context객체 생성, κΆŒν•œ 검증
    • Web Flux ➑️ 토큰 검증 μš”μ²­ 및 μ—…λ°μ΄νŠΈ
    • Custon RestTemplate ➑️ μ˜ˆμ™Έ 상황 λ°œμƒμ‹œ ν΄λΌμ΄μ–ΈνŠΈ μ„œλ²„μ—μ„œ 뢄기점 처리
  • μœ μ§€λ³΄μˆ˜μ„±
    • Global Error Response ➑️ Controller Advice, Exception Handler λ„μž…
    • ν•„μš”ν•œ λ§€κ°œλ³€μˆ˜λ§Œ 건넀주기 ➑️ Converter & Mapper & Utils
    • Error Logging ꡬ체화 & (Loggin Level μ‘°μ •)

각 μ„œλ²„μ˜ μ—­ν• 

ν•΄λ‹Ή ν”„λ‘œμ νŠΈλŠ” MSAλ₯Ό 기반으둜 κ΅¬μ„±λ˜μ–΄ 있기 λ•Œλ¬Έμ— 각 μ„œλ²„μ˜ 역할이 λͺ…ν™•νžˆ κ΅¬λΆ„λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

Frontend

Nginx μ„œλ²„ μœ„μ—μ„œ λ™μž‘ν•˜λ©΄μ„œ μ‚¬μš©μžμ™€ κ²Œμ΄νŠΈμ›¨μ΄(μ„œλ²„ μ§„μž…μ )의 쀑간 닀리 역할을 ν•˜λ©΄μ„œ μ‚¬μš©μžλ‘œλΆ€ν„°μ˜ μš”μ²­μ„ μ²˜λ¦¬ν•¨κ³Ό λ™μ‹œμ— μ‚¬μš©μžλ“€λ‘œλΆ€ν„° λ°±μ—”λ“œ μ„œλ²„λ“€μ„ μˆ¨κ²¨μ£ΌλŠ” 역할을 μˆ˜ν–‰ν•΄ μ€λ‹ˆλ‹€.

Gateway

κ²Œμ΄νŠΈμ›¨μ΄ μ„œλ²„λŠ” μ›Ήμ„œλ²„μ™€ μ„œλΉ„μŠ€ μ„œλ²„λ“€μ˜ μ€‘κ°„μ—μ„œ 톡신을 μ „λ‹¬ν•΄μ£ΌλŠ” 역할을 ν•˜λŠ” μ„œλ²„μž…λ‹ˆλ‹€.

Auth Server

인증 μ„œλ²„λŠ” μ‚¬μš©μžλ₯Ό μ‹λ³„ν•˜κ³  μš”μ²­μ˜ μœ νš¨μ„± 검증 μž‘μ—…κ³Ό 같은 인증/인가 μž‘μ—…μ„ μ§‘μ€‘μ μœΌλ‘œ μˆ˜ν–‰ν•˜λŠ” μ„œλ²„μž…λ‹ˆλ‹€.

User Server

Event Server

Apply Server

Trouble Shooting

UI

메인

eventty_main

둜그인 & μ†Œμ…œ 둜그인

eventty_login eventty_google
둜그인 ꡬ글 둜그인

μΉ΄ν…Œκ³ λ¦¬ 쑰회

eventty_category

ν‚€μ›Œλ“œ 검색

eventty_keyword

행사 등둝

eventty_write eventty_event
행사 등둝 λ“±λ‘ν•œ 행사 쑰회

행사 μ‹ μ²­

eventty_booking

행사 μ‹ μ²­ λ‚΄μ—­

eventty_applices

Responsive

eventty_responsive

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages