Skip to content

JS7542/villa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏑 κ°€μ‘± 곡동 별μž₯ μ˜ˆμ•½ 관리 μ„œλΉ„μŠ€

κ°€μ‘±μ΄λ‚˜ μ™Έκ°€ μΉœμ²™λ“€μ΄ 같이 μ“°λŠ” 별μž₯을
μ’€ 덜 λΆˆνŽΈν•˜κ²Œ μ“°λ €κ³  λ§Œλ“  ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

μΉ΄ν†‘μ΄λ‚˜ μ „ν™”λ‘œ β€œλ‚˜ 이번 μ£Ό 써도 돼?” 이런 μ‹μœΌλ‘œ λ§žμΆ”λ‹€ λ³΄λ‹ˆκΉŒ
κ²ΉμΉ˜κ±°λ‚˜ ν—·κ°ˆλ¦¬λŠ” κ²½μš°κ°€ 생각보닀 λ§Žμ•„μ„œ,
κ·Έκ±Έ 쑰금 정리해보고 μ‹Άμ–΄μ„œ μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€.


πŸ“Œ ν”„λ‘œμ νŠΈ ν•œ 쀄 μš”μ•½

μ΄ˆλŒ€μ½”λ“œ + κ΄€λ¦¬μž 승인 기반으둜 μš΄μ˜λ˜λŠ” νμ‡„ν˜• 별μž₯ μ˜ˆμ•½ μ„œλΉ„μŠ€


πŸ€” μ™œ λ§Œλ“€μ—ˆλ‚˜

μ‹€μ œλ‘œ 가쑱끼리 별μž₯ μ“°λ‹€ 보면 이런 λ¬Έμ œλ“€μ΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

  • λˆ„κ°€ μ–Έμ œ μ“°λŠ”μ§€ ν•œλˆˆμ— μ•ˆ λ³΄μž„
  • 일정이 겹쳀을 λ•Œ 기쀀이 애맀함
  • κ°€μ‘± μ™Έ 인원이 μ„žμΌ 수 있음
  • κ΄€λ¦¬μž μž…μž₯μ—μ„œ ν†΅μ œκ°€ 어렀움

κ·Έλž˜μ„œ λ‹¨μˆœ μ˜ˆμ•½ κΈ°λŠ₯이 μ•„λ‹ˆλΌ,

  • μ•„λ¬΄λ‚˜ μ ‘κ·Όν•˜μ§€ λͺ»ν•˜κ³ 
  • 승인된 μ‚¬μš©μžλ§Œ μ΄μš©ν•˜κ³ 
  • μ˜ˆμ•½μ€ λͺ…ν™•ν•˜κ²Œ κ΄€λ¦¬λ˜λŠ”

ν˜•νƒœλ‘œ λ§Œλ“€μ–΄λ³΄λŠ” 것을 λͺ©ν‘œλ‘œ ν–ˆμŠ΅λ‹ˆλ‹€.


βš™οΈ μ£Όμš” κΈ°λŠ₯

πŸ‘€ νšŒμ› / 인증

  • μ΄ˆλŒ€μ½”λ“œ 기반 νšŒμ›κ°€μž…
  • κ°€μž… μ‹œ PENDING μƒνƒœλ‘œ μ €μž₯
  • κ΄€λ¦¬μž 승인 ν›„ ACTIVE μƒνƒœμ—μ„œλ§Œ 둜그인 κ°€λŠ₯
  • JWT 기반 인증

🎟 μ΄ˆλŒ€μ½”λ“œ

  • 1회용 μ½”λ“œ
  • μƒνƒœ 관리
    • ACTIVE
    • USED
    • EXPIRED
    • REVOKED
  • 만료된 μ½”λ“œλŠ” μ‚¬μš© μ‹œ μžλ™μœΌλ‘œ EXPIRED 처리

πŸ“… μ˜ˆμ•½ (μ§„ν–‰ 쀑)

  • λ‚ μ§œ λ‹¨μœ„ μ˜ˆμ•½
  • μ‹œμž‘μΌ ~ μ’…λ£ŒμΌ 포함
  • ν•˜λ£¨ λ‹¨μœ„ μ˜ˆμ•½ κ°€λŠ₯
  • μ˜ˆμ•½ μ·¨μ†Œ κΈ°λŠ₯
  • κ΄€λ¦¬μž μ˜ˆμ•½ μˆ˜μ • κΈ°λŠ₯ μ˜ˆμ •
  • μΊ˜λ¦°λ” 기반 쑰회 μ˜ˆμ •

πŸ“ μ •μ±… 정리

νšŒμ›κ°€μž…

  • μ΄ˆλŒ€μ½”λ“œ μ—†μœΌλ©΄ κ°€μž… λΆˆκ°€
  • signupNoteλŠ” 선택 μž…λ ₯
  • κ°€μž… ν›„ λ°”λ‘œ μ‚¬μš© λΆˆκ°€
  • κ΄€λ¦¬μž 승인 ν›„ 이용 κ°€λŠ₯

둜그인

  • ACTIVE μƒνƒœλ§Œ 둜그인 κ°€λŠ₯
  • PENDING, REJECTEDλŠ” 둜그인 차단
  • 아이디 쑴재 μ—¬λΆ€λŠ” ꡬ체적으둜 λ…ΈμΆœν•˜μ§€ μ•ŠμŒ (λ³΄μ•ˆ)

μ˜ˆμ•½ 쀑볡 κΈ°μ€€

κΈ°μ‘΄ μ˜ˆμ•½: A ~ B μ‹ κ·œ μ˜ˆμ•½: X ~ Y

A <= Y && B >= X

ν•˜λ£¨λΌλ„ 겹치면 μ€‘λ³΅μœΌλ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€.


πŸ›  기술 μŠ€νƒ

Backend

  • Java 21
  • Spring Boot 4
  • Spring Security
  • Spring Data JPA
  • JWT (jjwt)

Database

  • MySQL 8

Frontend

  • Thymeleaf

Dev / Infra

  • Gradle
  • IntelliJ / VSCode
  • Git / GitHub

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

com.jinsu.villa β”œβ”€ common β”œβ”€ auth β”œβ”€ user β”œβ”€ invite β”œβ”€ reservation └─ admin

κΈ°λŠ₯ λ‹¨μœ„λ‘œ λ‚˜λˆ„λŠ” ꡬ쑰둜 μ„€κ³„ν–ˆκ³ ,
μ΄ˆκΈ°μ— μž‘μ€ ꡬ쑰λ₯Ό μœ μ§€ν•˜λ©΄μ„œ ν™•μž₯ν•˜λŠ” λ°©ν–₯으둜 개발 μ€‘μž…λ‹ˆλ‹€.


βœ… ν˜„μž¬ κ΅¬ν˜„ λ²”μœ„

νšŒμ›κ°€μž…

  • loginId 쀑볡 검사
  • μ΄ˆλŒ€μ½”λ“œ 검증 (쑴재 / μƒνƒœ / 만료)
  • λΉ„λ°€λ²ˆν˜Έ BCrypt μ•”ν˜Έν™”
  • μ‚¬μš©μž PENDING μƒνƒœ μ €μž₯
  • μ΄ˆλŒ€μ½”λ“œ USED 처리

둜그인

  • loginId 쑰회
  • λΉ„λ°€λ²ˆν˜Έ 검증
  • ACTIVE μƒνƒœλ§Œ 둜그인 ν—ˆμš©
  • JWT 토큰 λ°œκΈ‰

JWT 인증

  • 토큰 생성 / 검증
  • userId / loginId / role μΆ”μΆœ
  • 인증 ν•„ν„° 적용
  • Stateless ꡬ쑰 적용

βœ”οΈ 검증 μ™„λ£Œ

  • 정상 νšŒμ›κ°€μž… 성곡
  • 쀑볡 아이디 차단
  • 잘λͺ»λœ μ΄ˆλŒ€μ½”λ“œ 차단
  • 만료 μ½”λ“œ 차단
  • PENDING 둜그인 차단
  • ACTIVE 둜그인 성곡

πŸ› νŠΈλŸ¬λΈ”μŠˆνŒ…

1. 만료된 μ΄ˆλŒ€μ½”λ“œ μƒνƒœ 뢈일치 문제

문제

만료된 μ΄ˆλŒ€μ½”λ“œλ‘œ νšŒμ›κ°€μž… μ‹œλ„ μ‹œ
κ°€μž…μ€ μ‹€νŒ¨ν•˜μ§€λ§Œ DBμ—λŠ” ACTIVE둜 λ‚¨μ•„μžˆλ˜ 문제 λ°œμƒ

원인

같은 νŠΈλžœμž­μ…˜ μ•ˆμ—μ„œ

  • μƒνƒœ λ³€κ²½
  • μ˜ˆμ™Έ λ°œμƒ

β†’ 전체 λ‘€λ°±λ˜λ©΄μ„œ μƒνƒœ 변경도 μ·¨μ†Œλ¨

ν•΄κ²°

  • μ΄ˆλŒ€μ½”λ“œ μƒνƒœ λ³€κ²½ λ‘œμ§μ„ REQUIRES_NEW νŠΈλžœμž­μ…˜μœΌλ‘œ 뢄리

κ²°κ³Ό

  • νšŒμ›κ°€μž…μ€ μ‹€νŒ¨
  • μ΄ˆλŒ€μ½”λ“œλŠ” μ •μƒμ μœΌλ‘œ EXPIRED 반영

2. VSCode PowerShell ν•œκΈ€ 깨짐

문제

ν„°λ―Έλ„μ—μ„œ ν•œκΈ€ λ‘œκ·Έκ°€ 깨짐

ν•΄κ²°

  • UTF-8 인코딩 μ„€μ •
  • JVM / Gradle / PowerShell μ„€μ • 톡일

κ²°κ³Ό

정상 좜λ ₯


🚧 μ•žμœΌλ‘œ κ΅¬ν˜„ν•  κΈ°λŠ₯

  • /users/me
  • κ΄€λ¦¬μž 승인 κΈ°λŠ₯
  • μ΄ˆλŒ€μ½”λ“œ 관리 API
  • μ˜ˆμ•½ 생성 / 쑰회 / μ·¨μ†Œ
  • μΊ˜λ¦°λ” 쑰회
  • κ΄€λ¦¬μž μ˜ˆμ•½ μˆ˜μ •
  • κΆŒν•œ 뢄리 κ°•ν™”
  • 곡톡 μ˜ˆμ™Έ 응닡 ꡬ쑰 정리
  • 배포 ν™˜κ²½ ꡬ성

πŸ” μ„€μ • 관리

민감 μ •λ³΄λŠ” μ½”λ“œμ— 직접 ν¬ν•¨ν•˜μ§€ μ•Šκ³ 
ν™˜κ²½λ³€μˆ˜(.env λ“±)둜 λΆ„λ¦¬ν•΄μ„œ 관리할 μ˜ˆμ •μž…λ‹ˆλ‹€.

  • DB 접속 정보
  • JWT Secret Key
  • 기타 배포 μ„€μ •

🧾 마무리

이 ν”„λ‘œμ νŠΈλŠ” λ‹¨μˆœ CRUD μ—°μŠ΅μ΄ μ•„λ‹ˆλΌ,

  • μ΄ˆλŒ€ 기반 νšŒμ›κ°€μž…
  • κ΄€λ¦¬μž 승인
  • 인증 처리
  • μ˜ˆμ•½ μ •μ±… 섀계

이런 μš”μ†Œλ“€μ„ μ‹€μ œ μ„œλΉ„μŠ€μ²˜λŸΌ κ΅¬ν˜„ν•΄λ³΄λŠ” 것을 λͺ©ν‘œλ‘œ μ§„ν–‰ μ€‘μž…λ‹ˆλ‹€.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages