Skip to content

Commit de9e810

Browse files
committed
docs(database): Fix #4
1 parent 380cfa6 commit de9e810

4 files changed

Lines changed: 452 additions & 0 deletions

File tree

docs/database/ddd.md

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
# 🧩 Dictionnaire des Données — Projet WorldBoss
2+
3+
---
4+
5+
## **SERVERS**
6+
7+
`servers`
8+
9+
| Colonne | Type | Description |
10+
| ------------------- | ------------ | -------------------------------------- |
11+
| id | int, PK | Identifiant unique du serveur |
12+
| discord_id | varchar(50) | Identifiant Discord du serveur, unique |
13+
| name | varchar(100) | Nom du serveur |
14+
| owner_id | varchar(50) | Identifiant Discord du propriétaire |
15+
| level | int | Niveau du serveur |
16+
| prestige | int | Points de prestige |
17+
| gold_reserve | int | Réserve d’or du serveur |
18+
| created_at | datetime | Date de création du serveur |
19+
| category_id | varchar(50) | ID de la catégorie Discord |
20+
| combat_channel_id | varchar(50) | ID du channel combat |
21+
| combat_message_id | varchar(50) | ID du message combat |
22+
| merchant_channel_id | varchar(50) | ID du channel marchand |
23+
| merchant_message_id | varchar(50) | ID du message marchand |
24+
| event_id | varchar(50) | ID du message événement |
25+
| general_channel_id | varchar(50) | ID du channel général |
26+
27+
**Relations principales :**
28+
29+
- 1—N `Players`
30+
- 1—1 `Merchants`
31+
- 1—N `Bosses`
32+
33+
---
34+
35+
## **PLAYERS**
36+
37+
`players`
38+
39+
| Colonne | Type | Description |
40+
| -------------- | ------------------------- | ------------------------------------- |
41+
| id | int, PK | Identifiant du joueur |
42+
| discord_id | varchar(50) | Identifiant Discord du joueur, unique |
43+
| server_id | int, FK vers `servers.id` | Serveur auquel le joueur appartient |
44+
| name | varchar(100) | Nom du joueur |
45+
| level | int | Niveau du joueur |
46+
| exp | int | Expérience |
47+
| hp | int | Points de vie actuels |
48+
| hp_max | int | Points de vie maximum |
49+
| attack | int | Attaque actuelle |
50+
| attack_max | int | Attaque maximale |
51+
| defense | int | Défense actuelle |
52+
| defense_max | int | Défense maximale |
53+
| crit_rate | int | Taux de critique actuel |
54+
| crit_rate_max | int | Taux de critique maximal |
55+
| gold | int | Or détenu par le joueur |
56+
| actions_points | int | Points d’action |
57+
| skills_points | int | Points de compétence |
58+
| alive | tinyint(1) | Joueur vivant ou non |
59+
60+
**Relations principales :**
61+
62+
- N—1 `Servers`
63+
- 1—1 `Inventories`
64+
65+
---
66+
67+
## **INVENTORIES**
68+
69+
`inventories`
70+
71+
| Colonne | Type | Description |
72+
| --------- | ------------------------- | ------------------- |
73+
| id | int, PK | Identifiant |
74+
| player_id | int, FK vers `players.id` | Joueur propriétaire |
75+
76+
**Relations principales :**
77+
78+
- N—1 `Players`
79+
- 1—N `Item_Instances`
80+
81+
---
82+
83+
## **ITEMS**
84+
85+
`items`
86+
87+
| Colonne | Type | Description |
88+
| ------------- | --------------------------------------- | ---------------------------------------- |
89+
| id | int, PK | Identifiant unique |
90+
| name | varchar(100) | Nom de l’objet |
91+
| category | enum('consommable','arme','equipement') | Catégorie de l’objet |
92+
| description | text | Description |
93+
| hp_bonus | int | Bonus points de vie (arme ou équipement) |
94+
| attack_bonus | int | Bonus attaque (arme ou équipement) |
95+
| defense_bonus | int | Bonus défense (arme ou équipement) |
96+
| price | int | Prix d’achat |
97+
| sell_price | int | Prix de vente |
98+
99+
**Relations principales :**
100+
101+
- 1—N `Item_Instances`
102+
- N—N `Merchant_Items`
103+
104+
---
105+
106+
## **ITEM_INSTANCES**
107+
108+
`item_instances`
109+
110+
| Colonne | Type | Description |
111+
| ------------ | ----------------------------- | --------------------------------------- |
112+
| id | int, PK | Identifiant unique de l’instance |
113+
| item_id | int, FK vers `items.id` | Objet associé |
114+
| inventory_id | int, FK vers `inventories.id` | Inventaire auquel appartient l’instance |
115+
| equipped | tinyint(1) | 1 si équipé, 0 sinon |
116+
117+
**Relations principales :**
118+
119+
- N—1 `Items`
120+
- N—1 `Inventories`
121+
- N—1 `Merchants`
122+
123+
---
124+
125+
## **MERCHANTS**
126+
127+
`merchants`
128+
129+
| Colonne | Type | Description |
130+
| ------------ | ------------------------- | -------------------------------------- |
131+
| id | int, PK | Identifiant du marchand |
132+
| server_id | int, FK vers `servers.id` | Serveur associé |
133+
| gold | int | Or détenu par le marchand |
134+
| last_refresh | datetime | Dernière actualisation de l’inventaire |
135+
136+
**Relations principales :**
137+
138+
- N—1 `Servers`
139+
- 1—N `Merchant_Items`
140+
141+
---
142+
143+
## **MERCHANT_ITEMS**
144+
145+
`merchant_items`
146+
147+
| Colonne | Type | Description |
148+
| ----------- | --------------------------- | ---------------- |
149+
| id | int, PK | Identifiant |
150+
| merchant_id | int, FK vers `merchants.id` | Marchand associé |
151+
| item_id | int, FK vers `items.id` | Objet associé |
152+
153+
**Relations principales :**
154+
155+
- N—1 `Merchants`
156+
- N—1 `Items`
157+
158+
---
159+
160+
## **BOSS_TEMPLATES**
161+
162+
`boss_templates`
163+
164+
| Colonne | Type | Description |
165+
| --------------- | ------------ | --------------------- |
166+
| id | int, PK | Identifiant du modèle |
167+
| name | varchar(100) | Nom du boss |
168+
| level | int | Niveau du boss |
169+
| base_hp | int | Points de vie de base |
170+
| base_attack | int | Attaque de base |
171+
| base_defense | int | Défense de base |
172+
| lore | text | Histoire du boss |
173+
| gif_url | varchar(255) | Image du boss |
174+
| gif_url_lore_01 | varchar(255) | Image lore |
175+
| gif_url_lore_02 | varchar(255) | Image lore |
176+
| gif_url_lore_03 | varchar(255) | Image lore |
177+
| gif_url_lore_04 | varchar(255) | Image lore |
178+
| gif_url_lore_05 | varchar(255) | Image lore |
179+
| gif_url_lore_06 | varchar(255) | Image lore |
180+
| gif_url_lore_07 | varchar(255) | Image lore |
181+
| gif_url_lore_08 | varchar(255) | Image lore |
182+
| gif_url_lore_09 | varchar(255) | Image lore |
183+
| gif_url_lore_10 | varchar(255) | Image lore |
184+
185+
**Relations principales :**
186+
187+
- 1—N `Bosses`
188+
189+
---
190+
191+
## **BOSSES**
192+
193+
`bosses`
194+
195+
| Colonne | Type | Description |
196+
| ----------- | -------------------------------- | --------------------------------- |
197+
| id | int, PK | Identifiant du boss |
198+
| server_id | int, FK vers `servers.id` | Serveur associé |
199+
| template_id | int, FK vers `boss_templates.id` | Modèle de boss |
200+
| hp | int | Points de vie actuels |
201+
| attack | int | Attaque actuelle |
202+
| defense | int | Défense actuelle |
203+
| last_reset | datetime | Date de dernière réinitialisation |
204+
205+
**Relations principales :**
206+
207+
- N—1 `Servers`
208+
- N—1 `Boss_Templates`
209+
210+
---

docs/database/mcd.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# 🧩 MCD — Projet WorldBoss
2+
3+
![MCD WorldBoss](./MCD.png)

docs/database/mld.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# 🧩 MLD — Projet WorldBoss
2+
3+
---
4+
5+
### **SERVERS**
6+
7+
SERVERS (id, discord_id, name, owner_id, level, prestige, gold_reserve, created_at,
8+
category_id, combat_channel_id, combat_message_id,
9+
merchant_channel_id, merchant_message_id, event_id, general_channel_id)
10+
11+
---
12+
13+
### **PLAYERS**
14+
15+
PLAYERS (id, discord_id, name, level, exp, hp, hp_max, attack, attack_max,
16+
defense, defense_max, crit_rate, crit_rate_max, gold,
17+
actions_points, skills_points, alive,
18+
[server_id])
19+
20+
---
21+
22+
### **INVENTORIES**
23+
24+
INVENTORIES (id, [player_id])
25+
26+
---
27+
28+
### **ITEMS**
29+
30+
ITEMS (id, name, category, description, hp_bonus, attack_bonus, defense_bonus,
31+
price, sell_price)
32+
33+
---
34+
35+
### **ITEM_INSTANCES**
36+
37+
ITEM_INSTANCES (id, equipped, [item_id], [inventory_id])
38+
39+
---
40+
41+
### **MERCHANTS**
42+
43+
MERCHANTS (id, gold, last_refresh, [server_id])
44+
45+
---
46+
47+
### **MERCHANT_ITEMS**
48+
49+
MERCHANT_ITEMS (id, [merchant_id], [item_id])
50+
51+
---
52+
53+
### **BOSS_TEMPLATES**
54+
55+
BOSS_TEMPLATES (id, name, level, base_hp, base_attack, base_defense, lore,
56+
gif_url,
57+
gif_url_lore_01, gif_url_lore_02, gif_url_lore_03, gif_url_lore_04,
58+
gif_url_lore_05, gif_url_lore_06, gif_url_lore_07, gif_url_lore_08,
59+
gif_url_lore_09, gif_url_lore_10)
60+
61+
---
62+
63+
### **BOSSES**
64+
65+
BOSSES (id, hp, attack, defense, last_reset,
66+
[server_id], [template_id])
67+
68+
---

0 commit comments

Comments
 (0)