-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
π Docs : README μμ±
- Loading branch information
Showing
1 changed file
with
272 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,284 @@ | ||
# ROOM:IT | ||
# π μ€ν°λλ£Έ μμ½ νλ«νΌ[ROOM:IT] π | ||
![BUMBLEBEE_ROOMIT](https://github.com/user-attachments/assets/1e5ef171-c9d0-48e9-9960-7945c5be25dc) | ||
|
||
### μ€ν°λλ£Έ μμ½ νλ«νΌ - πλ²λΈλΉν FEπ | ||
## β¨ νλ‘μ νΈ μκ° | ||
Room:itμ κΈ°μ‘΄ μμ½ μμ€ν μ λ¬Έμ μ μ νμ νμ¬ μ¬μ©μμκ² λ³΄λ€ ν¨μ¨μ μ΄κ³ | ||
μ§κ΄μ μΈ μλΉμ€λ₯Ό μ 곡νλ **μ€ν°λλ£Έ μμ½ λ° κ΄λ¦¬ νλ«νΌ**μ λλ€. | ||
|
||
[ππ»ββ ROOM:IT μ΄μ©νκΈ°](https://d2tci4aoquuc80.cloudfront.net/) | ||
|
||
<br> | ||
|
||
## νλ‘μ νΈ μ€ν | ||
## β¨ κΈ°ν λ°°κ²½ | ||
> μ΅κ·Ό μ€ν°λλ£Έμ λν μμλ μ§μμ μΌλ‘ μ¦κ°νκ³ μμ΅λλ€. <br> | ||
κ·Έλ¬λ κΈ°μ‘΄ μμ½ μμ€ν μ μ¬μ©μμκ² μ΅μ μ 곡κ°μ μΆμ²νκ±°λ, μμ½ κ³Όμ μμμ νΈμμ±μ μΆ©λΆν μ 곡νμ§ λͺ»νλ κ²½μ°κ° λ§μ΅λλ€. | ||
|
||
### Repository Clone | ||
μ΄ νλ‘μ νΈλ **μ¬μ©μ κ²½ν ν₯μ**κ³Ό **μ΄μ ν¨μ¨μ± κ·Ήλν**λ₯Ό λͺ©νλ‘ κΈ°νλμμ΅λλ€. | ||
|
||
``` | ||
$ git clone https://github.com/prgrms-web-devcourse-final-project/WEB1_2_BUMBLEBEE_FE.git | ||
$ cd WEB1_2_BUMBLEBEE_FE | ||
``` | ||
- **κ°μΈν μΆμ² μμ€ν **μ ν΅ν΄ μ¬μ©μκ° μ νΈνλ μκ°, μ₯μ, κ·Έλ¦¬κ³ νκ²½μ λ§μΆ μ€ν°λλ£Έμ μ 곡νμ¬ μ νμ νΈμμ±μ λμ΄κ³ , | ||
- **μμΉ κΈ°λ° μμ€ν **μΌλ‘ μ¬μ©μμ μ κ·Όμ±μ κ°ννλ©°, | ||
- **κ²°μ νλ‘μΈμ€ μ΅μ ν**λ₯Ό ν΅ν΄ λΉ λ₯΄κ³ μμ μ μΈ μμ½ κ²½νμ μ 곡ν©λλ€. | ||
|
||
### Package Installation | ||
μ΄λ₯Ό ν΅ν΄ μ¬μ©μμκ²λ μ΅μ νλ νμ΅ κ³΅κ°μ, μ€ν°λλ£Έ μ 곡μμκ²λ ν¨μ¨μ μΈ μ΄μ λꡬλ₯Ό μ 곡νλ **μ-μ νλ«νΌ**μ ꡬμΆνκ³ μ ν©λλ€. | ||
|
||
``` | ||
npm install | ||
``` | ||
|
||
### Run | ||
<br> | ||
|
||
## β¨ νλ‘μ νΈ κΈ°κ° | ||
- **κΈ°ν λ° μ€κ³ :** 2024.11.06 ~ 2024.11.17 | ||
- **κ°λ° :** 2024.11.18 ~ 2024.12.09 | ||
|
||
|
||
<br> | ||
|
||
|
||
## β¨ μ£Όμ κΈ°λ₯ | ||
|
||
<table style="min-width: 100% !important; max-width: 830px !important; border-collapse: collapse;"> | ||
<!-- μμΉ κΈ°λ° μμ€ν --> | ||
<tr> | ||
<td align="center" valign="middle" width="50%"> | ||
<img src="https://github.com/user-attachments/assets/12b46936-ef51-47f6-be97-bf83f4082ebf" alt="BUMBLEBEE_ROOMIT (1)" width="250" /> | ||
</td> | ||
<td align="center" valign="middle" width="50%"> | ||
<p> | ||
<strong>β μμΉ κΈ°λ° μμ€ν </strong><br><br> | ||
μ¬μ©μμ νμ¬ μμΉλ₯Ό κΈ°λ°μΌλ‘ κ·Όμ²μ μλ μ€ν°λλ£Έμ μ§λμ νμνμ¬, μμΉλ₯Ό μκ°μ μΌλ‘ νμΈν μ μμ΅λλ€. <br><br> | ||
μ¬μ©μκ° μ§λλ₯Ό μ΄λμν€λ©΄, ν΄λΉ μμΉλ₯Ό κΈ°μ€μΌλ‘ κ·Όμ² μ€ν°λλ£Έμ 리μ€νΈλ‘ νμΈν μ μμ΅λλ€. | ||
</p> | ||
</td> | ||
</tr> | ||
|
||
<!-- λ§μΆ€ν μΆμ² μμ€ν --> | ||
<tr> | ||
<td align="center" valign="middle" width="50%"> | ||
<img src="https://github.com/user-attachments/assets/a0c1f445-789f-4d82-b494-6e8f97e31878" alt="BUMBLEBEE_ROOMIT (1)" width="250"> | ||
</td> | ||
<td align="center" valign="middle" width="50%"> | ||
<p> | ||
<strong>β λ§μΆ€ν μΆμ² μμ€ν </strong><br><br> | ||
μ¬μ©μμ μ΄μ© λ΄μμ κΈ°λ°μΌλ‘ μλ‘μ΄ μ€ν°λλ£Έμ μΆμ²λ°μ μ μμ΅λλ€. <br> | ||
</p> | ||
</td> | ||
</tr> | ||
|
||
<!-- κ²μ νν°λ§ --> | ||
<tr> | ||
<td align="center" valign="middle" width="50%"> | ||
<img src="https://github.com/user-attachments/assets/83fdfe74-8389-4ddb-9d89-9ec64b1b4756" alt="BUMBLEBEE_ROOMIT (1)" width="250"> | ||
</td> | ||
<td align="center" valign="middle" width="50%"> | ||
<p> | ||
<strong>β κ²μ νν°λ§</strong><br><br> | ||
μνλ μ₯μ / λ μ§ / μκ° / μΈμμλ₯Ό μ ννμ¬ μμ½ κ°λ₯ν μ€ν°λλ£Έμ μ°Ύμ μ μμ΅λλ€. <br><br> | ||
μ€ν°λλ£Έ μμΈ νμ΄μ§μμλ μμ½ κ°λ₯ν λ μ§μ μκ°, μΈμμλ₯Ό μ ν λ° μμ ν μ μμ΅λλ€. | ||
</p> | ||
</td> | ||
</tr> | ||
|
||
<!-- 1:1 μ±ν --> | ||
<tr> | ||
<td align="center" valign="middle" width="50%"> | ||
<img src="https://github.com/user-attachments/assets/ac22fbd7-241a-4970-b452-2b89420fdbf5" alt="BUMBLEBEE_ROOMIT (1)" width="600"> | ||
</td> | ||
<td align="center" valign="middle" width="50%"> | ||
<p> | ||
<strong>β 1:1 μ±ν </strong><br><br> | ||
μ¬μ©μλ μ€μκ°μΌλ‘ νΈμ€νΈμ μν΅ν μ μμΌλ©°, <br> μμ½ κ΄λ ¨ λ¬Έμλ μ΄μ© μ μμ² μ¬νμ μ¦μ λ΅λ³λ°μ μ μμ΅λλ€. | ||
</p> | ||
</td> | ||
</tr> | ||
</table> | ||
|
||
|
||
|
||
<br> | ||
|
||
## β¨ κΈ°μ μ€ν | ||
|
||
<table> | ||
<tr> | ||
<td align="center">μΈμ΄</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/Typescript-3178c6?style=for-the-badge&logo=TypeScript&logoColor=ffffff"/>  | ||
</td> | ||
</tr> | ||
<tr> | ||
<td align="center">λΌμ΄λΈλ¬λ¦¬</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/React-61DAFB?style=for-the-badge&logo=React&logoColor=ffffff"/>  | ||
</td> | ||
</tr> | ||
<tr> | ||
<td align="center">λΉλ</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/Vite-646cff?style=for-the-badge&logo=Vite&logoColor=white"/>  | ||
</tr> | ||
<tr> | ||
<td align="center">λΌμ°ν°</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/React%20Router%20Dom-CA4245?style=for-the-badge&logo=ReactRouter&logoColor=white"> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td align="center">μνκ΄λ¦¬</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/TanStack%20Query-FF4154?style=for-the-badge&logo=ReactQuery&logoColor=white"/>  | ||
<img src="https://img.shields.io/badge/Zustand-EA5A47?style=for-the-badge&logo=Zustand&logoColor=white">  | ||
</tr> | ||
<tr> | ||
<td align="center">API</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/axios-5a29e4?style=for-the-badge&logo=axios&logoColor=white"/>  | ||
</tr> | ||
<tr> | ||
<td align="center">μ€μκ° ν΅μ </td> | ||
<td> | ||
<img src="https://img.shields.io/badge/SockJS-000000?style=for-the-badge&logo=SockJS&logoColor=white"/>  | ||
<img src="https://img.shields.io/badge/STOMP-FF8000?style=for-the-badge&logo=apachekafka&logoColor=white"/>  | ||
<img src="https://img.shields.io/badge/WebSocket-0078D7?style=for-the-badge&logo=websocket&logoColor=white"/>  | ||
<img src="https://img.shields.io/badge/SSE-FFAA00?style=for-the-badge&logo=serverless&logoColor=white"/>  | ||
</td> | ||
</tr> | ||
<tr> | ||
<td align="center">μ€νμΌλ§</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/Tailwind CSS-06b6d4?style=for-the-badge&logo=TailwindCSS&logoColor=white"/>  | ||
</tr> | ||
<tr> | ||
<td align="center">ν¬λ§€ν°</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/Prettier-f7b93e?style=for-the-badge&logo=Prettier&logoColor=white"/>  | ||
</td> | ||
</tr> | ||
<tr> | ||
<td align="center">λ¦°ν°</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/ESLint-4b32c3?style=for-the-badge&logo=ESLint&logoColor=white"/> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td align="center">ν¨ν€μ§ 맀λμ </td> | ||
<td> | ||
<img src="https://img.shields.io/badge/npm-cb3837.svg?style=for-the-badge&logo=npm&logoColor=white"/>  | ||
</td> | ||
</tr> | ||
<tr> | ||
<td align="center">λ°°ν¬</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/GitHub%20Actions-2088FF?style=for-the-badge&logo=githubactions&logoColor=white"/>  | ||
<img src="https://img.shields.io/badge/AWS%20S3-569A31?style=for-the-badge&logo=amazonaws&logoColor=white"/>  | ||
</tr> | ||
<tr> | ||
<td align="center">νμ λꡬ</td> | ||
<td> | ||
<img src="https://img.shields.io/badge/GitHub-181717?style=for-the-badge&logo=github&logoColor=white"/>  | ||
<img src="https://img.shields.io/badge/Figma-F24E1E?style=for-the-badge&logo=figma&logoColor=white"/>  | ||
<img src="https://img.shields.io/badge/Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white"/>  | ||
<img src="https://img.shields.io/badge/Notion-000000?style=for-the-badge&logo=notion&logoColor=white"/>  | ||
<img src="https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white"/>  | ||
</td> | ||
</tr> | ||
</table> | ||
|
||
<br> | ||
|
||
## β¨ μν€ν μ² | ||
![BUMBLEBEE_ROOMIT (1)](https://github.com/user-attachments/assets/bfbc0e85-5a70-42e0-abc5-e5861048ea00) | ||
|
||
<br> | ||
|
||
## β¨ νλ‘μ νΈ κ΅¬μ‘° | ||
``` | ||
npm run dev | ||
π¦WEB1_2_BUMBLEBEE_FE | ||
β£ π.github | ||
β£ πpublic | ||
β£ πsrc | ||
β β£ πapis //API μμ² ν¨μμ κ΄λ ¨ μ€μ μ κ΄λ¦¬νλ ν΄λ | ||
β β£ πassets //νλ‘μ νΈμμ μ¬μ©νλ μ μ νμΌ (μ΄λ―Έμ§, ν°νΈ, μμ΄μ½ λ±)μ κ΄λ¦¬νλ ν΄λ | ||
β β β£ πicons | ||
β β β£ πimages | ||
β β£ πcomponents //κ³΅ν΅ UI μ»΄ν¬λνΈλ₯Ό λ΄μ ν΄λ | ||
β β£ πconstants //곡ν΅μΌλ‘ μ¬μ©λλ μμλ€μ μ μν νμΌμ κ΄λ¦¬νλ ν΄λ | ||
β β£ πlayouts //μ 체 νμ΄μ§ λ μ΄μμμ ꡬμ±νλ μ»΄ν¬λνΈλ₯Ό λ΄μ ν΄λ | ||
β β£ πpages //λΌμ°ν λ¨μμ νμ΄μ§ μ»΄ν¬λνΈλ₯Ό κ΄λ¦¬νλ ν΄λ | ||
β β β£ πMainPage | ||
β β β β£ πcomponents //ν΄λΉ νμ΄μ§ λ΄ μ¬μ©νλ μ»΄ν¬λνΈλ₯Ό κ΄λ¦¬νλ ν΄λ | ||
β β β β£ πhooks //ν΄λΉ νμ΄μ§μμ μ¬μ©λλ custom hooksλ₯Ό κ΄λ¦¬νλ ν΄λ | ||
β β β β πindex.tsx | ||
β β£ πroutes //λΌμ°ν κ²½λ‘ μ€μ κ³Ό κ΄λ ¨λ μ½λλ₯Ό λ΄μ ν΄λ | ||
β β£ πstore //μ μ μν λ‘μ§μ κ΄λ¦¬νλ ν΄λ | ||
β β£ πstyles //μ μ μ€νμΌμ΄λ μ€νμΌ κ΄λ ¨ μ€μ νμΌμ κ΄λ¦¬νλ ν΄λ | ||
β β£ πtypings //μ μμΌλ‘ μ¬μ©λλ νμ λ€μ κ΄λ¦¬νλ ν΄λ | ||
β β£ πutils //곡ν΅μΌλ‘ μ¬μ©λλ μ νΈλ¦¬ν° ν¨μλ€μ κ΄λ¦¬νλ ν΄λ | ||
β β£ πindex.css | ||
β β£ πmain.tsx | ||
β β πvite-env.d.ts | ||
β£ π.env | ||
β£ π.env.default | ||
β£ π.eslintrc.cjs | ||
β£ π.gitignore | ||
β£ π.prettierrc | ||
β£ πREADME.md | ||
β£ πindex.html | ||
β£ πpackage-lock.json | ||
β£ πpackage.json | ||
β£ πpostcss.config.js | ||
β£ πtailwind.config.ts | ||
β£ πtsconfig.app.json | ||
β£ πtsconfig.eslint.json | ||
β£ πtsconfig.json | ||
β£ πtsconfig.node.json | ||
β πvite.config.ts | ||
``` | ||
|
||
<br> | ||
|
||
## β¨ κ°λ° λ¬Έμ | ||
|
||
<details><summary>ERD</summary> | ||
|
||
![BUMBLEBEE_ROOMIT (1)](https://cdn.discordapp.com/attachments/1305460123199733782/1319622097110040637/PNG.png?ex=6766a159&is=67654fd9&hm=b7f6f4ea5989f57f5b77fac96e03c9eb9b2c469635707ac33bd30a5bf696c0f2&) | ||
</details> | ||
|
||
<details><summary>API λͺ μΈμ | ||
</summary> | ||
|
||
- [API λͺ μΈμ](https://woolly-gibbon-9ce.notion.site/API-169829f77c368146856bca2c7056fb49?pvs=4) | ||
</details> | ||
|
||
|
||
<details><summary>μꡬμ¬ν λͺ μΈμ | ||
</summary> | ||
|
||
- [μꡬμ¬ν λͺ μΈμ](https://docs.google.com/spreadsheets/d/1okDecrOy3IyNDzQJUQo8r5FMesHM5_8YqJADU3KgN8g/edit?gid=0#gid=0) | ||
</details> | ||
|
||
|
||
<details><summary>컨벀μ | ||
</summary> | ||
|
||
- [ν κ·μΉ](https://woolly-gibbon-9ce.notion.site/169829f77c36810cbaa6e5b2e0851a2d?pvs=4) | ||
- [κ³΅ν΅ μ»€λ° μ»¨λ²€μ ](https://woolly-gibbon-9ce.notion.site/Git-Commit-Message-Convention-169829f77c3681edb626c2eedf8ec703?pvs=4) | ||
- [νλ‘ νΈμλ μ½λ 컨벀μ ](https://woolly-gibbon-9ce.notion.site/Code-Convention-169829f77c3681059b28d4a71977b5fc?pvs=4) | ||
- [벑μλ μ½λ 컨벀μ ](https://woolly-gibbon-9ce.notion.site/169829f77c36814d82adc37af5825b45?pvs=4) | ||
</details> | ||
|
||
<br> | ||
|
||
## β¨ ν μκ° | ||
|
||
| FE | FE | FE | | ||
|:----------------------------------------------------------:|:----------------------------------------------------------:|:----------------------------------------------------------:| | ||
| ![](https://avatars.githubusercontent.com/u/101979788?v=4) | ![](https://avatars.githubusercontent.com/u/108066931?v=4) | ![](https://avatars.githubusercontent.com/u/175666834?v=4) | | ||
| Team Leader | Git Admin | Developer & Clerk | | ||
| [μ΄μμ](https://github.com/eunjju2) | [μ‘°νμ§](https://github.com/JOEIH) | [μ΅μ±λ Ή](https://github.com/ryeong9) | | ||
| λ©μΈ νμ΄μ§ (μ§λ)<br>μ€ν°λλ£Έ κ²μ λ° μ‘°ν νμ΄μ§<br>μμ½ λ° κ²°μ νμ΄μ§<br>1:1 μ€μκ° μ±ν | μ¬μ©μ / μ¬μ μ λ§μ΄νμ΄μ§<br>리뷰 μμ± λ° κ΄λ¦¬ νμ΄μ§<br>μλ¦Ό νμ΄μ§<br>μ€μκ° μλ¦Ό | μ¬μ©μ / μ¬μ μ νμκ°μ <br>μ¬μ©μ (μμ ) / μ¬μ μ λ‘κ·ΈμΈ<br>μ¬μ μ₯ λ±λ‘ λ° μμ νμ΄μ§<br>μ¬μ μ₯ μμΈ νμ΄μ§ | | ||
|
||
|
||
| BE | BE | BE | BE | | ||
|:---------------------------------------------------------:|:----------------------------------------------------------:|:--------------------------------:|:-----------------------------------------------------------:| | ||
| ![](https://avatars.githubusercontent.com/u/176664628?v=4) | ![](https://avatars.githubusercontent.com/u/178239395?v=4) | ![](https://avatars.githubusercontent.com/u/134962465?v=4) | ![](https://avatars.githubusercontent.com/u/97494494?v=4) | | ||
| Team Leader | PM | AWS Admin | Developer & Clerk | | ||
| [κ°μμ](https://github.com/Si-rauis) | [μ΄μ€νΈ](https://github.com/bung-dev) | [μ΄μν](https://github.com/CryingPerson) | [μ΄μ©μ€](https://github.com/usingjun) | | ||
| μ¬μ μ κ΄λ¦¬<br>μ€ν°λλ£Έ μμ± λ° κ΄λ¦¬ νμ΄μ§<br>(κ²μ νν°λ§)<br>Docker 컨ν μ΄λν<br>ν μ€νΈ ν΄ μ°κ²° (K6, Grafana)<br>SSL μΈμ¦ | SpringSecurity / OAuth2 <br>Refresh Token<br>Rotation λ λμ€ μ μ₯<br>λΆμ°λ½μ ν΅ν λμμ± μ μ΄<br>κ²°μ μμ€ν | μ¬μ©μ λ§μ΄νμ΄μ§<br>리뷰 μμ± λ° κ΄λ¦¬ νμ΄μ§<br>μ€μκ° μλ¦Ό (SSE)<br>CI/CD<br>λ¨Έμ λ¬λ μΆμ² μμ€ν <br>(Hybrid filtering) | μ¬μ μ₯ λ±λ‘ λ° μμΈ νμ΄μ§<br>(μΉ΄μΉ΄μ€ μ§λ api)<br>λ λμ€ pub/sub, μμ μ μ₯μ<br>νμ©ν μ€μκ° 1λ 1 μ±ν <br>(WebSocket, STOMP) | |