π 1. User ν μ΄λΈ (μ μ μ 보)
id κ³ μ ν μ μ μλ³μ (λͺ¨λ κ΄κ³μ κΈ°μ€)
email λ‘κ·ΈμΈ λ° μλ³μ μν μ μΌ μ 보
nickname λλ€μ κΈ°λ° μλΉμ€(ν¬ν μΉ΄λ μμ±μ λ±)μ νμ
password λ‘컬 λ‘κ·ΈμΈ μ¬μ©μμ© (OAuth μ¬μ©μ μ μΈ)
provider LOCAL/GOOGLE λ± OAuth ꡬλΆμ μν μ΄κ±°ν
points ν¬μΈνΈλ‘ ꡬ맀, λ½κΈ° λ± μ²λ¦¬ μ νμ
photoCards, ownedCards, sales, purchases, proposals μ μ κ° μμ±/보μ /κ±°λν μΉ΄λ λ° μ μ κ΄κ³ μΆμ
notifications μλ¦Όμ μν κ΄κ³ νλ
createdAt, updatedAt νλ μκ° κ΄λ¦¬ λ° μ λ ¬, λ‘κΉ
λͺ©μ
π 2. PhotoCard ν μ΄λΈ (ν¬ν μΉ΄λ λ§μ€ν° μ 보)
id ν¬ν μΉ΄λ κ³ μ μλ³μ
name μΉ΄λ μ΄λ¦ (κ²μ/νν°μ©)
description μΉ΄λ μμΈ μ€λͺ
imageUrl μ€μ μ΄λ―Έμ§ URL μ μ₯
grade λ±κΈ (NORMAL, RARE λ±) β κ±°λ νν° λ° μ μ 쑰건μ μ¬μ©
genre μ₯λ₯΄ (IDOL, SPORTS λ±) β νν°λ§ λ° κ΅ν 쑰건 κΈ°λ°
minPrice κ±°λ μ κ°κ²© κΈ°μ€ μ νμ μν μ΅μκ°
totalQuantity λ°νλ μ νμ μν μλ νλ
createdById μ΄λ€ μ μ κ° μμ±νλμ§ μΆμ
userCards ν΄λΉ μΉ΄λμ μ€μμ λͺ©λ‘ (UserCard κ΄κ³)
sales, proposals κ±°λ λ° κ΅ν μ μ μΆμ
createdAt, updatedAt μ λ ¬, μ΅μ μΉ΄λ νμμ©
π 3. UserCard ν μ΄λΈ (ν¬ν μΉ΄λ μ€μμ )
id κ°λ³ 보μ μΉ΄λλ₯Ό μλ³
userId ν΄λΉ μΉ΄λλ₯Ό κ°μ§ μ μ μ 보 μΆμ
photoCardId μ΄λ€ ν¬ν μΉ΄λμ μΈμ€ν΄μ€μΈμ§ μΆμ
isOnSale νμ¬ κ±°λ μ€μΈμ§ μ¬λΆ νλ¨
createdAt 보μ μμ, μ λ ¬ κΈ°μ€ λ±μΌλ‘ μ¬μ© κ°λ₯
νλμ PhotoCard(μ: BTS RM ν¬ν )μμ 10μ₯ λ°νλλ€λ©΄, UserCardλ κ°κ°μ μ₯μ κ΄λ¦¬ν©λλ€.
π 4. Sale ν μ΄λΈ (νλ§€ μ 보)
id κ±°λ κ³ μ μλ³μ
sellerId νλ§€μ μ μ ID μΆμ
userCardId νλ§€ μ€μΈ κ°λ³ μμ μΉ΄λ(UserCard)
price νλ§€ κ°κ²© (ν¬μΈνΈ μ°¨κ°/μ 립μ©)
isSoldOut νμ μ¬λΆ μν
status νλ§€ λ°©μ (νλ§€ μ€ / κ΅ν μ μ© λ±)
desiredGrade, desiredGenre, desiredDesc κ΅ν 쑰건 νν°λ§μ μν νλ§€μμ ν¬λ§μ‘°κ±΄
proposals μ μλ°μ κ΅ν λͺ©λ‘
createdAt, updatedAt μ λ ¬ κΈ°μ€ λ° UI λ λλ§ λͺ©μ
π 5. Purchase ν μ΄λΈ (ν¬μΈνΈ ꡬ맀 κΈ°λ‘)
id ꡬ맀 κΈ°λ‘ μλ³μ
buyerId ꡬ맀μ μ 보 μΆμ
saleId μ΄λ€ νλ§€λ₯Ό ꡬ맀νλμ§ μΆμ
createdAt μ μ° λ° μλ¦Ό μκ° κΈ°μ€
π 6. ExchangeProposal ν μ΄λΈ (κ΅ν μ μ)
id μ μ κ³ μ μλ³μ
saleId μ΄λ€ νλ§€ 건μ λν μ μμΈμ§ μΆμ
userCardId μ μμκ° λ΄λμ κ΅ν μΉ΄λ (UserCard κΈ°μ€)
proposerId μ μν μ μ μΆμ
status μ μ μν (PENDING/ACCEPTED/REJECTED)
createdAt, updatedAt μ λ ¬, κ°±μ , μλ¦Ό λ± UI μ²λ¦¬μ νμ©
π 7. Notification ν μ΄λΈ (μλ¦Ό)
id μλ¦Ό κ³ μ μλ³μ
userId μλ¦Ό μμ μ
content μ€μ μλ¦Ό λ΄μ© (λ©μμ§ λ λλ§)
type μ΄λ€ μ’
λ₯μ μ΄λ²€νΈμΈμ§ λΆλ₯
read μ½μ μ¬λΆ νμΈμ©
createdAt μκ° κΈ°λ° μ λ ¬, νμ λͺ©μ
π 8. PointLog ν μ΄λΈ (ν¬μΈνΈ νμ€ν 리)
id λ‘κ·Έ μλ³μ
userId ν¬μΈνΈλ₯Ό νλ/μλΉν μ μ
amount λ³κ²½λ ν¬μΈνΈ μ (μμ/μμ)
reason μ΄μ (λ½κΈ°, ꡬ맀 λ± κ΅¬λΆμ©)
createdAt μκ° μ λ‘κ·Έ μ λ ¬μ©
π 9. CardCreationLimit ν μ΄λΈ (μμ± μ ν λ‘κΉ )
userId μ μ λ³ μ ν μΉ΄μ΄νΈ μ μ₯
month, year μμ± μ ν μ΄κΈ°ν κΈ°μ€ νλ¨μ© (μ: 2025λ
7μ)
created μ΄λ² λ¬ μμ±ν μΉ΄λ μ μΆμ
updatedAt μλ μ΄κΈ°ν νμΈ λ° UI νμ κΈ°μ€
π ENUM μ€λͺ ENUM μ΄λ¦ μ€λͺ AuthProvider μΈμ¦ λ°©μ ꡬλΆμ© (LOCAL, GOOGLE) CardGrade ν¬ν μΉ΄λ λ±κΈ (NORMAL, RARE, LEGENDARY) CardGenre ν¬ν μΉ΄λ μ₯λ₯΄ (IDOL, SPORTS, ART λ±) SaleStatus νλ§€ μν (ON_SALE, EXCHANGE_ONLY, SOLD_OUT) ProposalStatus κ΅ν μ μμ μν κ΄λ¦¬ NotificationType μλ¦Ό μ’ λ₯ (κ΅ν μ μ, νλ§€ μλ£ λ± κ΅¬λΆ)