diff --git a/BE/apps/api-server/src/modules/connection/dto/connection.query.dto.ts b/BE/apps/api-server/src/modules/connection/dto/connection.query.dto.ts
index 9e320e3c..77ca3177 100644
--- a/BE/apps/api-server/src/modules/connection/dto/connection.query.dto.ts
+++ b/BE/apps/api-server/src/modules/connection/dto/connection.query.dto.ts
@@ -9,6 +9,5 @@ export class ConnectionQueryDto {
@Transform(({ value, obj }) => {
return obj.type === 'mindmap' ? Number(value) : value;
})
- @IsString()
id: string | number;
}
diff --git a/README.md b/README.md
index bc31bc59..adb255e1 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,11 @@
# πΊ **BooMap**
-
-
-
-
-
-
+
+
+
+
+
---
@@ -28,72 +27,72 @@
---
-## π§ TEAM λλνκ°λ
-
-

-
+## π§ λλνκ°λνμ λλνκ°λ
-
-
-### π₯ νμ
+### λμνΈμ§ μμΌ λ¬Έμ ν΄κ²°νκΈ°
+μ ν¬ νμ λ
Έλμ λν λμνΈμ§μ κ°λ₯νκΈ° μν΄ socket.ioμ λμ ν΄λ³΄μμ΅λλ€.
+λμ νΈμ§μ ꡬννλ κ³Όμ μ μμ΄μ μ΄λ€ λ¬Έμ μ κ³ λ―Όλ€μ νμκΉμ?
-
+- π [io κ°μ²΄ μμ± νμ΄λ°κ³Ό HTTP μμ²](https://luxurious-share-af6.notion.site/io-HTTP-d4557100f7c24787b1e87f1c6318e66c?pvs=4)
+- π€ [aiResponse μ΄λ²€νΈ νΈλ€λ¬ μ€λ³΅ λ±λ‘ λ¬Έμ ](https://luxurious-share-af6.notion.site/aiResponse-1507725fa9ac80c4afebe1c7ec044638?pvs=4)
+- π οΈ [μμΌ μλ¬ ν΄κ²°νκΈ° μ΄λ³Έμ§](https://luxurious-share-af6.notion.site/cb17937f9c05446e827aecd5fabb5df0?pvs=4)
+- π₯οΈ [μμΌμ μ°κ²°νλλ μΊλ²μ€κ° λ§λΉλ 건μ λνμ¬..](https://luxurious-share-af6.notion.site/223e0029efef4945ae4073b3340324ad?pvs=4)
+- π± [λ
Έλμ ν
μ€νΈμ μμ νλλ° νλ©΄μ ν
μ€νΈκ° μ΄μμλ κ²μ λνμ¬β¦](https://luxurious-share-af6.notion.site/e0451420b8c946e3b2cb9c8086197d7a?pvs=4)
-| J001 κ°λ―Όμ£Ό | J026 κΉλ¨ν¬ | J155 μννΈ | J238 μ‘°λ―Όν |
-| :----------------------------------------------------------------: | :---------------------------------------------------------------: | :----------------------------------------------------------------: | :---------------------------------------------------------------: |
-|

|

|

|

|
-| [@Minju9187](https://github.com/Minju9187) | [@kimnamheeee](https://github.com/kimnamheeee) | [@adkm12](https://github.com/adkm12) | [@alsgud8311](https://github.com/alsgud8311) |
+### λ§μΈλλ§΅ κ·Έλ €λ΄κΈ°
+λ§μΈλλ§΅μ μΊλ²μ€ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ΄μ©νμ¬ κ·Έλ €λ΄μ§λ§, λ
Έλλ€κ³Ό λ§μΈλλ§΅μ λ§λ€μ΄μ£Όλ λ‘μ§μ μ²μλΆν° λκΉμ§ μ ν¬ νμ΄ κ΅¬ννμ΅λλ€. μ΄λ€ μλμ λμ λ€μ΄ μμλμ§ μ°Ύμ보μΈμ!
-
+**μ΅μλμΈκ³Ό κ°μ λ©λͺ¨ μ±μμλ λ§μΈλλ§΅ μμ μμλ€μ΄ λΈλ €μ€λλ°,, μ°λ¦¬λ νλ² λμ ν΄λ³ΌκΉ?**
+-> π οΈ [λ
Έλλ€μ λκ³ μ€κ² νκΈ°](https://luxurious-share-af6.notion.site/1417725fa9ac8060944ec3769d9056a8?pvs=4)
-
+**κ° λΆλͺ¨μ μμ κ°μ μ΄μ΄μ£Όλ μ μ μ§μ μμΉκΉμ§ κ³μ°ν΄μ λ£μ΄μΌ νλλ°,, 보μ΄λ κ²λ³΄λ€ λ κ°μ ν μ μμκΉμ λν κ³ λ―Όμ 곡μ ν©λλ€**
+-> π― [λλκ·Έ μ λ
Έλλ₯Ό λ°λΌκ°λ μ ꡬννκΈ°](https://luxurious-share-af6.notion.site/1377725fa9ac80b1af7fe19ee08a1110?pvs=4)
----
-### π§ λλνκ°λνμ λλνκ°λ
-#### λ§μΈλλ§΅ κ·Έλ €λ΄κΈ°
+**μ¬μ©μλ€μ΄ λΈλ μΈμ€ν λ°νλ©΄μ ν κ³³μΌλ‘ κ΄μ¬μ¬λ₯Ό λΆλ₯ν΄λκΈ΄ νμ§λ§, ν
μ€νΈλ₯Ό 보기 μν΄ κ²Ήμ³ λμ§λ μμν
λ°,, κ·ΈλΌ μ¬λ―Έ μμλ‘ λ
Έλλ€λΌλ¦¬ 2D 물리μμ§μ²λΌ μΆ©λμ΄ λλλ‘ κ΅¬νν΄ λ³ΌκΉνλ μκ°μμ λ
Έλ μΆ©λλ°©μ§λ₯Ό μκ°ν©λλ€.**
+-> β οΈ [λ
Έλλ€μ μΆ©λ κ°μ§ λ° ννΌ](https://luxurious-share-af6.notion.site/13a7725fa9ac80e8b96af725dbf70ba0?pvs=4)
-- π οΈ [λ
Έλλ€μ λκ³ μ€κ² νκΈ°](https://luxurious-share-af6.notion.site/1417725fa9ac8060944ec3769d9056a8?pvs=4)
-- π― [λλκ·Έ μ λ
Έλλ₯Ό λ°λΌκ°λ μ ꡬννκΈ°](https://luxurious-share-af6.notion.site/1377725fa9ac80b1af7fe19ee08a1110?pvs=4)
-- β οΈ [λ
Έλλ€μ μΆ©λ κ°μ§ λ° ννΌ](https://luxurious-share-af6.notion.site/13a7725fa9ac80e8b96af725dbf70ba0?pvs=4)
-- π [μΆ©λ λ°©μ§μ λ λλ§ μ±λ₯ μ΅μ ν](https://luxurious-share-af6.notion.site/13d7725fa9ac800798f5f44af7c4939f?pvs=4)
-- πΎ [λ
Έλλ€μ μ΄λ―Έμ§ λ€μ΄λ‘λνκΈ°](https://luxurious-share-af6.notion.site/1427725fa9ac8043a27ceffd0d387cdb?pvs=4)
-- π [λ
Έλλ€μ΄ κ²ΉμΉμ§ μκ² νΌμΉκΈ°](https://luxurious-share-af6.notion.site/782eba067f814852a11208f249996cdf?pvs=4)
+**μΆ©λ λ°©μ§ κΈ°λ₯μ λ£μλλ λ
Έλκ° λ§μμ‘μ λ νλ μ λλμ΄ μκ²Όμ΅λλ€. νλ μ λλμ ν΄κ²°νκΈ° μν λ¬Έμ λΆμκ³Ό μ΄λ₯Ό ν΄κ²°νκΈ° μν μλλ₯Ό 곡μ ν©λλ€!**
+-> π [μΆ©λ λ°©μ§μ λ λλ§ μ±λ₯ μ΅μ ν](https://luxurious-share-af6.notion.site/13d7725fa9ac800798f5f44af7c4939f?pvs=4)
+
+**μ΄λ―Έμ§μ export κΈ°λ₯μ ꡬνν κ³Όμ μ μκ°ν©λλ€!**
+-> πΎ [λ
Έλλ€μ μ΄λ―Έμ§ λ€μ΄λ‘λνκΈ°](https://luxurious-share-af6.notion.site/1427725fa9ac8043a27ceffd0d387cdb?pvs=4)
+
+**μ¬μ©μκ° λμ€μ λ
Έλκ° λ§μμ‘μ λ, νλ² λ
Έλλ€μ λν΄μ μ¬μ λ ¬νκ±°λ κ²ΉμΉμ§ μκ²λ λ
Έλλ₯Ό λ§λ€μ΄μ£Όλ κΈ°λ₯μ λ£μΌλ©΄ μ¬μ©μ κ²½νμ μ’μ μν₯μ λΌμΉ κ²μ΄λΌ νλ¨νμ΅λλ€. κ·Έλ λ€λ©΄ μ΄λ₯Ό μ΄λ»κ² κ³μ°νμ¬ λ°μνλμ§μ λν κ³Όμ μ μκ°ν©λλ€**
+-> π [λ
Έλλ€μ΄ κ²ΉμΉμ§ μκ² νΌμΉκΈ°](https://luxurious-share-af6.notion.site/782eba067f814852a11208f249996cdf?pvs=4)
---
-#### νμκ³Ό λΉνμ μ μ© μλΉμ€ λ§λ€κΈ°
+### νμκ³Ό λΉνμ μ μ© μλΉμ€ λ§λ€κΈ°
+νμκ³Ό λΉνμ μ μ© μλΉμ€λ₯Ό λ§λ€λ©΄μ μ΄λ»κ² μμ κΆμ κ΄λ¦¬ν΄μΌ ν μ§ μ λ§ λ§μ μΌμ΄μ€λ€μ΄ λ°κ²¬λμμ΅λλ€. μ΄λ₯Ό ν΄κ²°νκΈ° μν μ ν¬λ§μ λνꡬλ₯Ό μκ°ν©λλ€.
- π [νμκ³Ό λΉνμμ μμ κΆ κ΄λ¦¬νκΈ°](https://luxurious-share-af6.notion.site/14e7725fa9ac80eba893d0986a81e605?pvs=4)
- π‘ [λ‘κ·ΈμΈ ν λμ보λ APIλ₯Ό λΆλ¬μ€λλ‘ νμ΄λ° μ‘°μ νκΈ°](https://luxurious-share-af6.notion.site/14e7725fa9ac8070aff8cd82157ca616?pvs=4)
---
-#### λμνΈμ§ μμΌ λ¬Έμ ν΄κ²°νκΈ°
-- π [io κ°μ²΄ μμ± νμ΄λ°κ³Ό HTTP μμ²](https://luxurious-share-af6.notion.site/io-HTTP-d4557100f7c24787b1e87f1c6318e66c?pvs=4)
-- π€ [aiResponse μ΄λ²€νΈ νΈλ€λ¬ μ€λ³΅ λ±λ‘ λ¬Έμ ](https://luxurious-share-af6.notion.site/aiResponse-1507725fa9ac80c4afebe1c7ec044638?pvs=4)
-- π οΈ [μμΌ μλ¬ ν΄κ²°νκΈ° μ΄λ³Έμ§](https://luxurious-share-af6.notion.site/cb17937f9c05446e827aecd5fabb5df0?pvs=4)
-- π₯οΈ [μμΌμ μ°κ²°νλλ μΊλ²μ€κ° λ§λΉλ 건μ λνμ¬..](https://luxurious-share-af6.notion.site/223e0029efef4945ae4073b3340324ad?pvs=4)
-- π± [λ
Έλμ ν
μ€νΈμ μμ νλλ° νλ©΄μ ν
μ€νΈκ° μ΄μμλ κ²μ λνμ¬β¦](https://luxurious-share-af6.notion.site/e0451420b8c946e3b2cb9c8086197d7a?pvs=4)
-
----
+### λ§ν¬λ€μ΄ νμλ‘ κ΅¬ννκΈ°
+λͺ¨λ νμμμ λλΆλΆμ μκΈ°κ° μλ€μνΌ, μ ν¬λ νμλ‘μ λκ³ ν λͺ
μ΄ μ΄λ₯Ό νΈμ§νλ©΄μ λ€λ₯Έ μ¬λλ€μ λ³Ό μ μμΌλ©΄ μ’κ² λ€λ μλ‘μ΄ μμ΄λμ΄κ° λμ νμλ‘ κΈ°λ₯μ μΆκ°νμ΅λλ€. μλν° λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν μΌμ§λ₯Ό 곡μ ν©λλ€.
-#### λ§ν¬λ€μ΄ νμλ‘ κ΅¬ννκΈ°
- π [tiptap μλν° λμ
νκΈ°](https://luxurious-share-af6.notion.site/tiptap-4f653362bcd34016a377fe4794b76455?pvs=4)
---
-#### κΈ°ν κ³ λ―Όκ³Ό λμ λ€
+### κΈ°ν κ³ λ―Όκ³Ό λμ λ€
+νμλ€μ΄ μμ ν₯λ―Έμ νΈκΈ°μ¬μΌλ‘ νλ λμ λ€κ³Ό μ§λ©΄νλ λ¬Έμ λ€μ ν΄κ²°νκΈ° μν μλλ€μ μκ°ν©λλ€!
+
+**μ μλꡬμμ μ€μνλ ν΅μ¬ κΈ°λ₯ μ€ νλλ 'λ¨μΆν€'μμ΅λλ€. μ΄μ ν¨κ» μ ν¬μ λ
Έλλ€μ μνλ₯Ό λλ리기 ν μ μλ κΈ°λ₯μ΄ μλ€λ©΄ νΈμ§μ΄ λ³΄λ€ μ¬μΈ κ²μ΄λΌ νλ¨νμ¬ μλνλ κ³Όμ μ μκ°ν©λλ€.**
+-> π [canvasμμ Ctrl + zλ‘ λ€λ‘κ°κΈ°λ₯Ό ν΄λ³΄μ](https://luxurious-share-af6.notion.site/canvas-Ctrl-z-1cf4b1e309814aea859ea9b27e3ec82b?pvs=4)
-- π [canvasμμ Ctrl + zλ‘ λ€λ‘κ°κΈ°λ₯Ό ν΄λ³΄μ](https://luxurious-share-af6.notion.site/canvas-Ctrl-z-1cf4b1e309814aea859ea9b27e3ec82b?pvs=4)
+λ€μν λ¬Έμ λ€μ ν΄κ²°νλ κ³Όμ λ€μ μκ°ν©λλ€.
- βοΈ [μ΄λ²€νΈ 리μ€λ μ‘°μ νκΈ°](https://luxurious-share-af6.notion.site/14a7725fa9ac8065b906fc9af6b94d1c?pvs=4)
---
-### π οΈ κΈ°μ μ€ν
+## π οΈ κΈ°μ μ€ν

@@ -101,17 +100,39 @@
-### μλ² μν€ν
μ²
+## μλ² μν€ν
μ²

---
-### π Links
+## π Links
+μ ν¬ νμ λν΄μ λ μκ³ μΆκ±°λ μλΉμ€λ₯Ό 체ννκ³ μΆμΌμ λΆμ μλ λ§ν¬λ₯Ό ν΅ν΄ μ΄λν΄μ£ΌμΈμ π
+
+[](https://boomap.site) [](https://luxurious-share-af6.notion.site/BOOMAP-1287725fa9ac80dd87d9c5fbad711b3d?pvs=4) [](https://github.com/boostcampwm-2024/web32-BooMap/wiki)
+
+
+
+## π§ TEAM λλνκ°λ
+
+
+

+
+
+
+
-[](https://boomap.site)
-[](https://luxurious-share-af6.notion.site/BOOMAP-1287725fa9ac80dd87d9c5fbad711b3d?pvs=4)
-[](https://github.com/boostcampwm-2024/web32-BooMap/wiki)
+### π₯ νμ
+
+| J001 κ°λ―Όμ£Ό | J026 κΉλ¨ν¬ | J155 μννΈ | J238 μ‘°λ―Όν |
+| :----------------------------------------------------------------: | :---------------------------------------------------------------: | :----------------------------------------------------------------: | :---------------------------------------------------------------: |
+|

|

|

|

|
+| [@Minju9187](https://github.com/Minju9187) | [@kimnamheeee](https://github.com/kimnamheeee) | [@adkm12](https://github.com/adkm12) | [@alsgud8311](https://github.com/alsgud8311) |
+|Frontend|Frontend|Backend|Frontend|
+
+
+
+
diff --git a/client/src/store/NodeListProvider.tsx b/client/src/store/NodeListProvider.tsx
index c515f245..509ac7e9 100644
--- a/client/src/store/NodeListProvider.tsx
+++ b/client/src/store/NodeListProvider.tsx
@@ -97,6 +97,7 @@ export default function NodeListProvider({ children }: { children: ReactNode })
payload: initializedNodes,
callback: (response) => {
overrideNodeData(response);
+ overrideHistory(JSON.stringify(response));
},
});
});
diff --git a/client/src/store/createSocketSlice.ts b/client/src/store/createSocketSlice.ts
index 0563485e..39203952 100644
--- a/client/src/store/createSocketSlice.ts
+++ b/client/src/store/createSocketSlice.ts
@@ -106,7 +106,7 @@ export const createSocketSlice: StateCreator