diff --git a/README.md b/README.md index 3287a196..eebad203 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Run With Me ? ๐Ÿƒ๏ธ -![Github](https://img.shields.io/badge/vue-2.6.11-%234FC08D?style=plastic&logo=Vue.js)![Github](https://img.shields.io/badge/spring_boot-2.3.1-%236DB33F?style=plastic&logo=Spring)![Github](https://img.shields.io/badge/MySQL-8.0-%234479A1?style=plastic&logo=mysql) +![Github](https://img.shields.io/badge/vue-2.6.11-%234FC08D?style=plastic&logo=Vue.js)![Github](https://img.shields.io/badge/spring_boot-2.3.1-%236DB33F?style=plastic&logo=Spring)![Github](https://img.shields.io/badge/MySQL-8.0-%234479A1?style=plastic&logo=mysql)![Github](https://img.shields.io/badge/Redis-3.0-%23DC382D?style=plastic&logo=Redis)![Github](https://img.shields.io/badge/build-passing-brightgreen?style=plastic) @@ -53,28 +53,30 @@ ## ๐Ÿ“Œ ๋ชฉ์ฐจ -[Run With Me ? ๐Ÿƒ](https://lab.ssafy.com/s03-final/s03p31a303/tree/master#-run-with-me-%EF%B8%8F-) +[Run With Me ? ๐Ÿƒ](#-Run With Me?) -* [์‹œ์ž‘ํ•˜๊ธฐ](https://lab.ssafy.com/s03-final/s03p31a303#-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0) +* [์‹œ์ž‘ํ•˜๊ธฐ](#-์‹œ์ž‘ํ•˜๊ธฐ) - * [์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ](https://lab.ssafy.com/s03-final/s03p31a303#%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0%EC%97%90-%EC%95%9E%EC%84%9C) - * [์„ค์น˜ํ•˜๊ธฐ](https://lab.ssafy.com/s03-final/s03p31a303#%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0) - * [์‹คํ–‰ํ•˜๊ธฐ](https://lab.ssafy.com/s03-final/s03p31a303#%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0) - * [๋ฐฐํฌํ•˜๊ธฐ](https://lab.ssafy.com/s03-final/s03p31a303#%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0) + * [์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ](#์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ) + * [์„ค์น˜ํ•˜๊ธฐ](#์„ค์น˜ํ•˜๊ธฐ) + * [์‹คํ–‰ํ•˜๊ธฐ](#์‹คํ–‰ํ•˜๊ธฐ) + * [๋ฐฐํฌํ•˜๊ธฐ](#๋ฐฐํฌํ•˜๊ธฐ) -* [์ง€์›ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €](https://lab.ssafy.com/s03-final/s03p31a303#-%EC%A7%80%EC%9B%90%ED%95%98%EB%8A%94-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80) +* [์ง€์›ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €](#-์ง€์›ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €) -* [์‚ฌ์šฉ๋œ ๋„๊ตฌ](https://lab.ssafy.com/s03-final/s03p31a303#-%EC%82%AC%EC%9A%A9%EB%90%9C-%EB%8F%84%EA%B5%AC) +* [์‚ฌ์šฉ๋œ ๋„๊ตฌ](#-์‚ฌ์šฉ๋œ ๋„๊ตฌ) -* [์‚ฌ์šฉ๋œ ๊ธฐ์ˆ ](https://lab.ssafy.com/s03-final/s03p31a303#-%EC%82%AC%EC%9A%A9%EB%90%9C-%EA%B8%B0%EC%88%A0) - -* [Application Architecture](https://lab.ssafy.com/s03-final/s03p31a303/edit/master/README.md#-application-architecture) +* [์‚ฌ์šฉ๋œ ๊ธฐ์ˆ ](#-์‚ฌ์šฉ๋œ ๊ธฐ์ˆ ) -* [์„œ๋น„์Šค ์†Œ๊ฐœ](https://lab.ssafy.com/s03-final/s03p31a303#-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%86%8C%EA%B0%9C) +* [์‹œ์Šคํ…œ ์•„ํ‚คํ…์ณ](#-์‹œ์Šคํ…œ ์•„ํ‚คํ…์ณ) -* [์ €์ž](https://lab.ssafy.com/s03-final/s03p31a303#-%EC%A0%80%EC%9E%90) +* [์„œ๋น„์Šค ์†Œ๊ฐœ](#-์„œ๋น„์Šค ์†Œ๊ฐœ) -* [๋ผ์ด์„ผ์Šค](https://lab.ssafy.com/s03-final/s03p31a303#-%EB%9D%BC%EC%9D%B4%EC%84%BC%EC%8A%A4) +* [์ผ์ •](#-์ผ์ •) + +* [์ €์ž](#-์ €์ž) + +* [๋ผ์ด์„ผ์Šค](#-๋ผ์ด์„ผ์Šค) @@ -94,7 +96,7 @@ 1. ๊นƒํ—™์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํด๋ก ํ•ฉ๋‹ˆ๋‹ค. ``` - $ git clone https://lab.ssafy.com/s03-final/s03p31a303.git + $ git clone https://github.com/soo-ni/RunWithMe.git ``` 2. npm์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. @@ -109,7 +111,7 @@ 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. - - [erd.sql](https://lab.ssafy.com/s03-final/s03p31a303/blob/develop/doc/ERD/erd.sql)์„ ์ฐธ๊ณ ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ([์—ฌ๊ธฐ](https://lab.ssafy.com/s03-final/s03p31a303/blob/develop/doc/ERD/erd.png)๋ฅผ ๋ˆŒ๋Ÿฌ erd๋ฅผ ํ™•์ธํ•˜์„ธ์š”. + - [RunWithMe_SQL.sql](https://github.com/soo-ni/RunWithMe/blob/master/doc/ERD/RunWithMe_SQL.sql)์„ ์ฐธ๊ณ ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ([์—ฌ๊ธฐ](https://github.com/soo-ni/RunWithMe/blob/master/doc/ERD/RunWithMe_ERD.png)๋ฅผ ๋ˆŒ๋Ÿฌ erd๋ฅผ ํ™•์ธํ•˜์„ธ์š”.) - `application.yml`์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. @@ -148,20 +150,71 @@ ํ•ด๋‹น ์„œ๋น„์Šค๋Š” `AWS EC2`๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐฐํฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „์— [์—ฌ๊ธฐ]()๋ฅผ ์ฐธ๊ณ ํ•ด์„œ `AWS EC2`๊ณ„์ •์„ ์ƒ์„ฑํ•˜์„ธ์š”. -๋ฐฐํฌ๋ฅผ ํ•˜๊ธฐ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:) -- Putty ๋ฅผ ํ†ตํ•ด ์ ‘์† -> Ubuntu ํ™˜๊ฒฝ์— Git Clone -> Nginx ํ™˜๊ฒฝ ์„ค์ • -> Ubuntu ํ™˜๊ฒฝ์—์„œ ๋นŒ๋“œ ๋ฐ ์‹คํ–‰ -> Nginx ์‹คํ–‰ -> ์ ‘์† +๋ฐฐํฌ๋ฅผ ํ•˜๊ธฐ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค: + +1. AWS EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ + +2. Ubuntu ํ™˜๊ฒฝ์— Git Clone + +3. Nginx ํ™˜๊ฒฝ ์„ค์ • + + ``` + + server { + + listen 80; + listen [::]:80; + server_name k3a303.p.ssafy.io; + return 301 https://$host$request_uri; + + } + + server { + + listen 443 ssl default_server; + listen [::]:443 ssl default_server; + + root /home/ubuntu/deploy/s03p31a303/frontend/RunWithMe/dist; + + # Add index.php to the list if you are using PHP + index index.html index.htm index.nginx-debian.html; + + server_name k3a303.p.ssafy.io; + + location / { + # First attempt to serve request as file, then + # as directory, then fall back to displaying a 404. + try_files $uri $uri/ /index.html; + } + + ssl_certificate /etc/letsencrypt/live/k3a303.p.ssafy.io/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/k3a303.p.ssafy.io/privkey.pem; + + access_log /var/log/nginx/proxy/access.log; + error_log /var/log/nginx/proxy/error.log; + + } + ``` + +4. JDK ์„ค์น˜ (ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •) + +5. DB ์„ค์น˜ (ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์—์„œ MySQL ์‚ฌ์šฉ) + +6. gradle wrapper์„ ์œ„ํ•œ ๋ฒ„์ „ ์„ค์ • (6.0.0 ์ด์ƒ) + +7. gradle clean build ์‹คํ–‰ (war ํŒŒ์ผ ์ƒ์„ฑ) + +8. yarn build (dist ํด๋” ์ƒ์„ฑ) ## :globe_with_meridians: ์ง€์›ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € -| ํฌ๋กฌ | ์‚ฌํŒŒ๋ฆฌ | edge | firefox | +| Chrome | Safari | Edge | Firefox | | ------ | ------ | ------ | ------- | | latest | latest | latest | latest | - - ## :hammer_and_wrench: ์‚ฌ์šฉ๋œ ๋„๊ตฌ * Vue.js 2.6.11 @@ -176,7 +229,7 @@ ## :desktop_computer: ์‚ฌ์šฉ๋œ ๊ธฐ์ˆ  -![image](/uploads/099419baab0b261b3d5299e46cf78127/image.png) +![TechStack](https://user-images.githubusercontent.com/19357410/100544132-062d1380-3297-11eb-832e-9e1dd8f8da13.png) **[ BACK END ]** @@ -240,189 +293,187 @@ - ๋™์‹œ ๋ฌธ์„œ ์ž‘์„ฑ (Google Docs). - ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ฒจ๋ถ€ -## :desktop_computer: Application Architecture -![image](/uploads/13f326ec8abc6068b712c24e0384e775/image.png) - +## :desktop_computer: ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ณ +![System_Architecture](https://user-images.githubusercontent.com/19357410/100544133-088f6d80-3297-11eb-8ba7-bad031aa6e46.png) ## ๐ŸŽž ์„œ๋น„์Šค ์†Œ๊ฐœ ### 1. ๋กœ๊ทธ์ธ ํ™”๋ฉด - +#### 1-1. ๋กœ๊ทธ์ธ ํ™”๋ฉด + --- ### 2. ๋ฉ”์ธ ํ™”๋ฉด - - -- **[๋ฉ”์ธ ํ™”๋ฉด]** : ์ƒ๋‹จ์—๋Š” ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ์ฑŒ๋ฆฐ์ง€์™€ ์ด๋ฒคํŠธ , ์ค‘๋‹จ์—๋Š” ๋žญํ‚น, ํ•˜๋‹จ์—๋Š” ์นœ๊ตฌ์˜ ์ตœ์‹  ํ”ผ๋“œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ---- +#### 2-1. ๋ฉ”์ธ ํ™”๋ฉด + -#### 2-1. ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ๋žญ์ปค ํด๋ฆญ - - +- **[๋ฉ”์ธ ํ™”๋ฉด] :** ์ƒ๋‹จ์—๋Š” ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ์ฑŒ๋ฆฐ์ง€, ์ค‘์•™์—๋Š” ๋žญํ‚น, ํ•˜๋‹จ์—๋Š” ํŒ”๋กœ์šฐํ•œ ์œ ์ €์˜ ์ตœ์‹  ๋Ÿฌ๋‹ ๊ธฐ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค. -- **[๋ฉ”์ธํ™”๋ฉด์—์„œ ๋žญ์ปค ํด๋ฆญ์‹œ]** : ์„ ํƒํ•œ ์œ ์ €์˜ ๊ฐ„๋‹จํ•œ ํ”„๋กœํ•„๊ณผ ์ตœ๊ทผ ๋Ÿฐ๋‹ ๊ธฐ๋ก์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. -- **[๋žญ์ปค ํ”„๋กœํ•„์—์„œ ๋Ÿฐ๋‹ ํ”ผ๋“œ ํด๋ฆญ์‹œ]** : ํ•ด๋‹น ์œ ์ €์˜ ํ•ด๋‹น ๋Ÿฐ๋‹๊ธฐ๋ก์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. --- -#### 2-2. ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์นœ๊ตฌ ํ”ผ๋“œ ํด๋ฆญ - +#### 2-2. ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ๋žญ์ปค ํด๋ฆญ + + + +- **[๋ฉ”์ธ ํ™”๋ฉด์—์„œ ๋žญ์ปค ํด๋ฆญ ์‹œ] :** ์„ ํƒํ•œ ์œ ์ €์˜ ๊ฐ„๋‹จํ•œ ํ”„๋กœํ•„, ํŒ”๋กœ์šฐ ์—ฌ๋ถ€, ๋Ÿฌ๋‹ ๊ธฐ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค. +- **[๋žญ์ปค ํ”„๋กœํ•„์—์„œ ๋Ÿฌ๋‹ ํ”ผ๋“œ ํด๋ฆญ ์‹œ] :** ์œ ์ €์˜ ํ•ด๋‹น ๋Ÿฌ๋‹ ์ƒ์„ธ ๊ธฐ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค. -- **[๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์นœ๊ตฌ ํ”ผ๋“œ ํด๋ฆญ์‹œ]** : ์นœ๊ตฌ์˜ ๋Ÿฐ๋‹ ๊ธฐ๋ก์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. --- -### 3. ๋Ÿฐ๋‹ ํŽ˜์ด์ง€ - - - +#### 2-3. ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์นœ๊ตฌ ํ”ผ๋“œ ํด๋ฆญ + + +* **[๋ฉ”์ธ ํ™”๋ฉด์—์„œ ํŒ”๋กœ์›Œ ํ”ผ๋“œ ํด๋ฆญ ์‹œ] :** ํŒ”๋กœ์šฐํ•œ ์œ ์ €์˜ ๋Ÿฌ๋‹ ์ƒ์„ธ ๊ธฐ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค. -- **[๋Ÿฐ๋‹ ํŽ˜์ด์ง€์—์„œ ์‹œ์ž‘ ๋ฒ„ํŠผ ํด๋ฆญ์‹œ]** : ๋Ÿฐ๋‹ ๊ธฐ๋ก์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค -- **[๋Ÿฐ๋‹ ํŽ˜์ด์ง€์—์„œ ์ •์ง€ ๋ฒ„ํŠผ ํด๋ฆญ์‹œ]** : ๋Ÿฐ๋‹์„ ๋๋‚ด๊ณ  ๊ธฐ๋ก์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **[๋Ÿฐ๋‹ ํŽ˜์ด์ง€์—์„œ ํŽ˜์ด์ง€ ์Šค์™‘์‹œ]** : ํ˜„์žฌ ๋Ÿฐ๋‹์˜ ์ค‘๊ฐ„ ๊ธฐ๋ก์„ ํ™•์ธํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(1Km ๋‹จ์œ„) +--- ---- +### 3. ๋Ÿฌ๋‹ ํŽ˜์ด์ง€ -#### 3-1. ๋Ÿฐ๋‹ ๊ฒฐ๊ณผ ๋ฐ ๋ถ„์„ - - - +#### 3-1. ๋Ÿฌ๋‹ ํŽ˜์ด์ง€ -- **[๋Ÿฐ๋‹ ๊ฒฐ๊ณผ]** : ํ˜„์žฌ ๋Ÿฐ๋‹์˜ ๋ถ€๋ถ„ ๊ธฐ๋ก ๋ฐ ์ „์ฒด ๊ธฐ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **[๋Ÿฐ๋‹ ๋ถ„์„]** : ๊ฐœ๋ฐœ์ž์˜ ๊ฐ์„ฑ์„ ์‚ด๋ ค์„œ ๋‹ฌ๋งˆ๋‹ค ๋›ด ๊ธฐ๋ก์„ ๋ณด์—ฌ์ฃผ๋ฉฐ ์ˆœ์œ„ํ™” ํ•ด์ค๋‹ˆ๋‹ค. -- **[๋Ÿฐ๋‹ ๋ถ„์„]** : ์ด์ „ ๊ธฐ๋ก, ์ตœ๊ทผ ๊ธฐ๋ก๊ณผ ์œ ์ €๋“ค์˜ ํ‰๊ท  ๊ธฐ๋ก๋“ค์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. + +* **[๋Ÿฌ๋‹ ํŽ˜์ด์ง€์—์„œ ์‹œ์ž‘ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ] :** ๋Ÿฌ๋‹ ๊ธฐ๋ก์„ ์‹œ์ž‘ํ•œ๋‹ค. +* **[๋Ÿฌ๋‹ ํŽ˜์ด์ง€์—์„œ ์ •์ง€ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ] :** ๋Ÿฌ๋‹์„ ๋๋‚ด๊ณ  ๊ธฐ๋ก์„ ์ €์žฅํ•œ๋‹ค. +* **[๋Ÿฌ๋‹ ํŽ˜์ด์ง€์—์„œ ํŽ˜์ด์ง€ ์Šค์™‘ ์‹œ] :** ํ˜„์žฌ ๋Ÿฌ๋‹์˜ ์ค‘๊ฐ„ ๊ธฐ๋ก์„ 1km ๋‹จ์œ„๋กœ ํ™•์ธํ•œ๋‹ค. --- +#### 3-2. ๋Ÿฌ๋‹ ๊ฒฐ๊ณผ ํŽ˜์ด์ง€ -### 4. ์ฃผ๋ณ€ ๋Ÿฌ๋„ˆ ์ถ”์ฒœ - - + + +* **[๋Ÿฌ๋‹ ๊ฒฐ๊ณผ] :** ํ˜„์žฌ ๋Ÿฌ๋‹์˜ ๋ถ€๋ถ„ ๊ธฐ๋ก ๋ฐ ์ „์ฒด ๊ธฐ๋ก์„ ํ™•์ธํ•œ๋‹ค. -- **[์ฃผ๋ณ€ ๋Ÿฌ๋„ˆ]** : ๊ฐ™์€ ๋™๋„ค์˜ ์ฃผ๋ณ€ ๋Ÿฌ๋„ˆ๋“ค์„ ์ถ”์ฒœํ•ด์ฃผ๊ณ , ํด๋ฆญํ•˜๋ฉด ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์œ ์ €์˜ ํ”„๋กœํ•„๊ณผ ๊ธฐ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --- +#### 3-3. ๋Ÿฌ๋‹ ๋ถ„์„ ํŽ˜์ด์ง€ -### 5. ์ฑ„ํŒ… ๋ฐ ๋งค์นญ - - - + -- **[1:1 ์ฑ„ํŒ…]** : ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์„ ์ ์šฉํ•˜์—ฌ ํ˜„์žฌ ์˜จ๋ผ์ธ ์ƒํƒœ์ธ ์œ ์ €๋“ค๊ณผ ์ฑ„ํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **[์‹ค์ œ ์ฑ„ํŒ… ํ™”๋ฉด]** : ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‹œ๊ฐ„๊ณผ ํ”„๋กœํ•„, ๋ฉ”์‹œ์ง€๊ฐ€ ์ฃผ๊ณ  ๋ฐ›์•„์ง‘๋‹ˆ๋‹ค. -- **[๋งค์นญ ์‹œ์Šคํ…œ]** : ๋งค์นญ์—์„œ ์›ํ•˜๋Š” ์„ฑ๋ณ„์„ ํด๋ฆญ์‹œ ์„ ํƒํ•œ ์„ฑ๋ณ„๊ณผ ๋งค์นญํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋น„์Šทํ•œ ๋ ˆ๋ฒจ์˜ ๋Ÿฌ๋„ˆ๊ฐ€ ์—†๋‹ค๋ฉด ๋งค์นญ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.) +* **[๋Ÿฌ๋‹ ๊ธฐ๋ก] :** Github์˜ contributions์„ ํ‘œํ˜„ํ•˜๋Š” ์ž”๋”” ํฌ๋ฉง์„ ๊ฐ€์ ธ์™€ ๊ฐœ๋ฐœ์ž ๊ฐ์„ฑ์„ ์‚ด๋ ค ํ•œ๋‹ฌ ๋‹จ์œ„๋กœ ํ•˜๋ฃจ์— ๋›ด ๊ฑฐ๋ฆฌ๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉฐ, ์ด๋ฏธ์ง€๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. +* **[๋Ÿฌ๋‹ ๋ถ„์„ ๊ทธ๋ž˜ํ”„] :** ์ด์ „ ๊ธฐ๋ก, ์ตœ๊ทผ ๊ธฐ๋ก๊ณผ ์œ ์ €๋“ค์˜ ํ‰๊ท  ๊ธฐ๋ก์„ ๋ณด์—ฌ์ฃผ๋ฉฐ, ์ด๋ฏธ์ง€๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. --- +### 4. ์ฃผ๋ณ€ ๋Ÿฌ๋„ˆ ์ถ”์ฒœ -### 6. ์ง€์—ญ ์ฑ„ํŒ… - - +#### 4-1. ์ฃผ๋ณ€ ๋Ÿฌ๋„ˆ ์ถ”์ฒœ + + + +* **[์ฃผ๋ณ€ ๋Ÿฌ๋„ˆ ์ถ”์ฒœ] :** ๊ฐ™์€ ๋™๋„ค์˜ ์ฃผ๋ณ€ ๋Ÿฌ๋„ˆ๋“ค์„ ์ถ”์ฒœํ•ด์ฃผ๊ณ , ํด๋ฆญ ์‹œ ์œ ์ €์˜ ํ”„๋กœํ•„๊ณผ ๊ธฐ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค. -- **[์ง€์—ญ ์ฑ„ํŒ…๋ฐฉ]** : ๋‹ค์–‘ํ•œ ์ง€์—ญ๋“ค์˜ ์ฑ„ํŒ…๋ฐฉ์— ์ฐธ์—ฌํ•˜์—ฌ ์—ฌ๋Ÿฌ ์œ ์ €๋“ค๊ณผ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์„ ์ฆ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **[์‹ค์ œ ์ฑ„ํŒ… ํ™”๋ฉด]** : --- +### 5. ์ผ๋Œ€์ผ ์ฑ„ํŒ… ๋ฐ ๋งค์นญ -### 7. ์ฑŒ๋ฆฐ์ง€ ํŽ˜์ด์ง€ - - +#### 5-1. ์ผ๋Œ€์ผ ์ฑ„ํŒ… + + -- **[์ฑŒ๋ฆฐ์ง€ ํŽ˜์ด์ง€]** : ํ˜„์žฌ ์ง„ํ–‰์ค‘, ์ง„ํ–‰ ์˜ˆ์ •, ์ข…๋ฃŒ๋œ ์ฑŒ๋ฆฐ์ง€๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **[์ฑŒ๋ฆฐ์ง€ ํด๋ฆญ์‹œ]** : ์ฑŒ๋ฆฐ์ง€ ํด๋ฆญ์‹œ ํ•ด๋‹น ์ฑŒ๋ฆฐ์ง€์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ์‹ ์ฒญ๋ฒ„ํŠผ์œผ๋กœ ์ฑŒ๋ฆฐ์ง€์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +* **[์ผ๋Œ€์ผ ์ฑ„ํŒ…] :** ํŒ”๋กœ์šฐํ•œ ์œ ์ €์˜ ์˜จ๋ผ์ธ ์ ‘์† ์ƒํƒœ๊ฐ€ ๋ณด์ด๋ฉฐ ์˜จ๋ผ์ธ์ธ ์œ ์ €์™€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฑ„ํŒ…ํ•œ๋‹ค. --- +#### 5-2. ๋งค์นญ -#### 7-1. ์ฑŒ๋ฆฐ์ง€ ์ƒ์„ธ - - + +* **[์ผ๋Œ€์ผ ์ฑ„ํŒ… ๋ฐ‘ ๋งค์นญ ํด๋ฆญ ์‹œ] :** ์ผ๋Œ€์ผ ์ฑ„ํŒ…์˜ ์˜จ๋ผ์ธ ๋ฐ ์˜คํ”„๋ผ์ธ ์œ ์ €์˜ ๋ชฉ๋ก ํ•˜๋‹จ ๋งค์นญ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๊ฒฝํ—˜์น˜์— ๋”ฐ๋ฅธ ์œ ์ €๋ฅผ ๋งค์นญํ•ด์ค€๋‹ค. +* **[๋งค์นญ ์‹œ์Šคํ…œ] :** ์„ฑ๋ณ„์„ ์„ ํƒ ํ›„ ์›ํ•˜๋Š” ๋Ÿฌ๋„ˆ๋ฅผ ์„ ํƒํ•ด ํŒ”๋กœ์šฐํ•œ ๋‹ค์Œ ์ผ๋Œ€์ผ ์ฑ„ํŒ…์„ ์‹œ์ž‘ํ•œ๋‹ค. -- **[์ฑŒ๋ฆฐ์ง€ ์ƒ์„ธํŽ˜์ด์ง€]** : ์ฑŒ๋ฆฐ์ง€๋ฅผ ํด๋ฆญ์‹œ ์ƒ์„ธ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. -- **[์ฑŒ๋ฆฐ์ง€ ์‹ ์ฒญ]** : ์ฑŒ๋ฆฐ์ง€ ์‹ ์ฒญ๋ฒ„ํŠผ ํด๋ฆญ! --- +### 6. ์ง€์—ญ ์ฑ„ํŒ… + +#### 6-1. ์ง€์—ญ ์ฑ„ํŒ… -#### 7-2. ์ฑŒ๋ฆฐ์ง€ ๊ฒฐ์ œ - - + -- **[์ฑŒ๋ฆฐ์ง€ ๊ฒฐ์ œ]** : ํ•ด๋‹น ์ฑŒ๋ฆฐ์ง€์—์„œ ์›ํ•˜๋Š” ๊ธˆ์•ก๋งŒํผ๋งŒ ๊ธฐ๋ถ€๊ธˆ์•ก์„ ๊ธฐ์žฌํ•˜์—ฌ ์ฐธ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +* **[์ง€์—ญ ์ฑ„ํŒ…] :** ์›ํ•˜๋Š” ์ง€์—ญ์„ ์„ ํƒ ์‹œ ํ•ด๋‹น ์ง€์—ญ์—์„œ ์—ฌ๋Ÿฌ ์œ ์ €์™€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฑ„ํŒ…ํ•œ๋‹ค. --- +### 7. ์ฑŒ๋ฆฐ์ง€ ํŽ˜์ด์ง€ + +#### 7-1. ์ฑŒ๋ฆฐ์ง€ ํŽ˜์ด์ง€ -### 8. ์ฑŒ๋ฆฐ์ง€ ์ œ์•ˆ - - - + -- **[์ฑŒ๋ฆฐ์ง€ ์ œ์•ˆ]** : ์œ ์ €๋“ค์€ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ฑŒ๋ฆฐ์ง€๋ฅผ ์ œ์•ˆํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **[์ฑŒ๋ฆฐ์ง€ ์ œ์•ˆ ์ƒ์„ธ]** : ์ฑŒ๋ฆฐ์ง€ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ž…๋‹ˆ๋‹ค. +* **[์ฑŒ๋ฆฐ์ง€ ํŽ˜์ด์ง€] :** ์ƒ๋‹จ์˜ ๋ณด์œ  ๋งˆ์ผ๋ฆฌ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๊ณ , ํ˜„์žฌ ์ง„ํ–‰์ค‘, ์ง„ํ–‰ ์˜ˆ์ •, ์ข…๋ฃŒ๋œ ์ฑŒ๋ฆฐ์ง€๋ฅผ ํ™•์ธํ•œ๋‹ค. --- +#### 7-2. ์ฑŒ๋ฆฐ์ง€ ์ƒ์„ธ -#### 8-2. ์ฑŒ๋ฆฐ์ง€ ๊ด€๋ฆฌํŽ˜์ด์ง€ - + -- **[์ฑŒ๋ฆฐ์ง€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€]** : ์ฑŒ๋ฆฐ์ง€ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋Š” ๊ด€๋ฆฌ์ž ๋“ฑ๊ธ‰๋งŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ƒ์„ฑ, ์‚ญ์ œ, ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. +* **[์ฑŒ๋ฆฐ์ง€ ํด๋ฆญ ์‹œ] :** ์ฑŒ๋ฆฐ์ง€ ํด๋ฆญ ์‹œ ํ•ด๋‹น ์ฑŒ๋ฆฐ์ง€์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ณ , ์‹ ์ฒญ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์ฑŒ๋ฆฐ์ง€์— ์ฐธ์—ฌํ•œ๋‹ค. +* **[์ฑŒ๋ฆฐ์ง€ ์‹ ์ฒญ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ] :** ์ฑŒ๋ฆฐ์ง€ ์‹ ์ฒญ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์ฑŒ๋ฆฐ์ง€ ์ฐธ์—ฌ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€๋ฉฐ, ๊ธฐ๋ถ€ ๊ธˆ์•ก์„ ์„ค์ •ํ•ด ์ฐธ์—ฌํ•œ๋‹ค. ์ด ๋•Œ, ๊ธฐ๋ถ€ ๊ธˆ์•ก์€ 0์›์„ ์„ค์ •ํ•ด๋„ ์ฐธ์—ฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ•ด๋‹น ๊ธˆ์•ก์€ ๋ฏธ๋ฆฌ ์ถฉ์ „๋œ ๋งˆ์ผ๋ฆฌ์ง€์—์„œ ์ฐจ๊ฐ๋œ๋‹ค. +* **[์ถฉ์ „ํ•˜๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ] :** ์ถฉ์ „ํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ํด๋ฆญ ์‹œ, [๋งˆ์ดํŽ˜์ด์ง€]-[๋งˆ์ผ๋ฆฌ์ง€ ์ถฉ์ „] ํƒญ์œผ๋กœ ์ „ํ™˜๋˜๋ฉฐ ์นด์นด์˜คํŽ˜์ด๋ฅผ ํ†ตํ•ด ์ถฉ์ „์ด ๊ฐ€๋Šฅํ•˜๋‹ค. --- +### 8. ์ฑŒ๋ฆฐ์ง€ ์ œ์•ˆ -### 9. ๋Ÿฐ๋‹ ๊ธฐ๋ก ์กฐํšŒ - - - +#### 8.1 ์ฑŒ๋ฆฐ์ง€ ์ œ์•ˆ + + + +* **[์ฑŒ๋ฆฐ์ง€ ์ œ์•ˆ] :** ์œ ์ €๊ฐ€ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ฑŒ๋ฆฐ์ง€๋ฅผ ์ œ์•ˆํ•œ๋‹ค. -- **[๋Ÿฐ๋‹ ๊ธฐ๋ก ์กฐํšŒ]** : ๋‚ด ๋ชจ๋“  ๋Ÿฐ๋‹ ๊ธฐ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‹จ์—์„œ ๋Ÿฐ๋‹ ๊ธฐ๋ก์„ ํด๋ฆญ์‹œ ๋งต์— ๋›ด ๊ฒฝ๋กœ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. -- **[๋Ÿฐ๋‹ ๊ธฐ๋ก ํด๋ฆญ์‹œ1]** : ๋งต์— ํ•ด๋‹น ๋Ÿฐ๋‹ ๊ธฐ๋ก์„ ๋ถ„์„ํ•˜์—ฌ ๋›ด ๊ฒฝ๋กœ๋ฅผ ํ‘œ์‹œํ•ด์ค๋‹ˆ๋‹ค. -- **[๋Ÿฐ๋‹ ๊ธฐ๋ก ํด๋ฆญ์‹œ2]** : ํ•ด๋‹น ๋Ÿฐ๋‹ ๊ธฐ๋ก์ด ์—ด๋ฆฌ๊ณ , ๋Ÿฐ๋‹ ๊ธฐ๋ก์„ ํด๋ฆญ์‹œ ์ƒ์„ธ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค. --- +#### 8.2 ์ฑŒ๋ฆฐ์ง€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€ + + -#### 9-1. ๋Ÿฐ๋‹ ์ƒ์„ธ - - +* **[์ฑŒ๋ฆฐ์ง€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€] :** ์ฑŒ๋ฆฐ์ง€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋Š” ๊ด€๋ฆฌ์ž ๋“ฑ๊ธ‰๋งŒ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ฑŒ๋ฆฐ์ง€ ์ƒ์„ฑ, ์‚ญ์ œ, ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค. -- **[๋‚ด ๋Ÿฐ๋‹ ์ƒ์„ธ]** : ํ•ด๋‹น ๋Ÿฐ๋‹ ๊ธฐ๋ก์„ ์ƒ์„ธํ•˜๊ฒŒ ๋ณผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --- +### 9. ๋Ÿฌ๋‹ ๊ธฐ๋ก ์กฐํšŒ -### 10. ์นœ๊ตฌ ๋ชฉ๋ก - +#### 9-1. ๋Ÿฌ๋‹ ๊ธฐ๋ก ์กฐํšŒ + + + +* **[๋Ÿฌ๋‹ ๊ธฐ๋ก ์กฐํšŒ] :** ๋ณธ์ธ์˜ ๋ชจ๋“  ๋Ÿฌ๋‹ ๊ธฐ๋ก์„ ์กฐํšŒํ•œ๋‹ค. ํ•˜๋‹จ์—์„œ ๋Ÿฌ๋‹ ๊ธฐ๋ก์„ ํด๋ฆญ ์‹œ, ์ง€๋„์— ๋Ÿฌ๋‹ ๊ฒฝ๋กœ๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค. +* **[ํ™œ๋™ ์ง€์—ญ ๋Ÿฌ๋‹ ๊ธฐ๋ก ์กฐํšŒ] :** ๋ณธ์ธ์ด ์„ค์ •ํ•œ ํ™œ๋™ ์ง€์—ญ ๋Ÿฌ๋‹ ๊ธฐ๋ก์„ ์กฐํšŒํ•œ๋‹ค. ํ•˜๋‹จ์—์„œ ๋Ÿฌ๋‹ ๊ธฐ๋ก์„ ํด๋ฆญ ์‹œ, ์ง€๋„์— ๋Ÿฌ๋‹ ๊ฒฝ๋กœ๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค. +* **[๋Ÿฌ๋‹ ๊ธฐ๋ก ํด๋ฆญ ์‹œ] :** ๋Ÿฌ๋‹ ์ƒ์„ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค. -- **[์นœ๊ตฌ ๋ชฉ๋ก]** : ์นœ๊ตฌ์˜ ๊ฐ„๋‹จํ•œ ์ •๋ณด์™€, ์ฑ„ํŒ…์„ ํ• ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํŠผ๊ณผ ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํŠผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. --- +### 10. ํŒ”๋กœ์šฐ ๋ชฉ๋ก + +#### 10-1. ํŒ”๋กœ์šฐ ๋ชฉ๋ก ์กฐํšŒ -### 11. ๋งˆ์ผ๋ฆฌ์ง€ ์ถฉ์ „ - - - + + +* **[ํŒ”๋กœ์šฐ ๋ชฉ๋ก ์กฐํšŒ] :** ํŒ”๋กœ์›Œ์˜ ๊ฐ„๋‹จํ•œ ์ •๋ณด์™€, ๋งํ’์„  ์•„์ด์ฝ˜์„ ํด๋ฆญ ์‹œ ์ผ๋Œ€์ผ ์ฑ„ํŒ…์œผ๋กœ ์ด๋™ํ•˜๋ฉฐ, ์—‘์Šค ์•„์ด์ฝ˜์„ ํด๋ฆญ ์‹œ ํŒ”๋กœ์šฐ๋ฅผ ์ทจ์†Œํ•œ๋‹ค. -- **[๋งˆ์ผ๋ฆฌ์ง€ ์ถฉ์ „]** : ๋งˆ์ผ๋ฆฌ์ง€๊ฐ€ ๋ถ€์กฑํ• ์‹œ ๋งˆ์ผ๋ฆฌ์ง€ ์ถฉ์ „์ฐฝ์œผ๋กœ ์ด๋™๋˜๋ฉฐ, ์›ํ•˜๋Š” ๊ธˆ์•ก๋งŒํผ ์ถฉ์ „ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **[๋งˆ์ผ๋ฆฌ์ง€ ์ถฉ์ „(ํ˜„์žฌ ๊ณต์งœ๋กœ ์ถฉ์ „)]** : ํ˜„์žฌ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›์ง€ ์•Š๊ณ  **TEST** ๋ฅผ ์œ„ํ•œ ์ถฉ์ „๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. -- **[๋งˆ์ผ๋ฆฌ์ง€ ์ถฉ์ „์™„๋ฃŒ]** : ๋งˆ์ผ๋ฆฌ์ง€๊ฐ€ ์ถฉ์ „๋˜๋ฉด ์ฆ‰์‹œ ํ˜„์žฌ ๋ณด์œ  ๋งˆ์ผ๋ฆฌ์ง€๊ฐ€ ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค. --- +### 11. ์œ ์ € ์ •๋ณด ์ˆ˜์ • -### 12. ํšŒ์›์ •๋ณด ์ˆ˜์ • - - - +#### 11-1. ์œ ์ € ์ •๋ณด ์ˆ˜์ • -- **[ํšŒ์›์ •๋ณด ์ˆ˜์ •]** : ํšŒ์›์ •๋ณด ์ˆ˜์ • ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค. -- **[ํšŒ์›์ •๋ณด ์ˆ˜์ •์ „, ์ˆ˜์ • ํ›„]** : ํšŒ์›์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ํƒˆํ‡ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +* **[์œ ์ € ์ •๋ณด ์ˆ˜์ •] :** ์œ ์ € ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ํƒˆํ‡ดํ•œ๋‹ค. +* **[์œ ์ € ํ”„๋กœํ•„ ์ˆ˜์ •] :** ์œ ์ € ํ”„๋กœํ•„์„ ์ˆ˜์ •ํ•œ๋‹ค. --- +## :calendar: ์ผ์ • + +![์ผ์ •](https://user-images.githubusercontent.com/19357410/100542772-7d5ea980-328f-11eb-806c-4bd76138aa1e.png) + ## ๐Ÿ‘ค ์ €์ž * ๊น€๋Œ€์šฉ - Daeyong Kim - kim940813@naver.com - @[imdaeyong](https://github.com/imdaeyong) [Front] @@ -431,8 +482,6 @@ * ์ด์„ ์ˆ˜ - Sunsoo Lee - tjstn921030@gmail.com - @[LEESUNSOO](https://github.com/LEESUNSOO) [Back] * ์ „์ˆ˜ํ˜„ - Soohyun Jeon - soohyun0907@naver.com - @[soohyun0907](https://github.com/soohyun0907) [Front] - - ## :page_with_curl: ๋ผ์ด์„ผ์Šค ``` diff --git a/doc/ERD/RunWithMe_ERD.png b/doc/ERD/RunWithMe_ERD.png new file mode 100644 index 00000000..34bf0a4a Binary files /dev/null and b/doc/ERD/RunWithMe_ERD.png differ diff --git a/doc/ERD/RunWithMe_SQL.sql b/doc/ERD/RunWithMe_SQL.sql new file mode 100644 index 00000000..f858cfb6 --- /dev/null +++ b/doc/ERD/RunWithMe_SQL.sql @@ -0,0 +1,198 @@ +CREATE SCHEMA `rwm`; +USE rwm; + +CREATE TABLE `board` ( + `board_id` int(11) NOT NULL AUTO_INCREMENT, + `board_content` varchar(255) NOT NULL, + `board_editdate` datetime NOT NULL, + `board_regdate` datetime NOT NULL, + `board_title` varchar(255) NOT NULL, + `read_count` int(11) NOT NULL, + `writer_id` int(11) NOT NULL, + `board_image` varchar(500) DEFAULT NULL, + `reply_count` int(11) DEFAULT NULL, + `writer_name` varchar(255) NOT NULL, + `writer_profile` varchar(500) DEFAULT NULL, + PRIMARY KEY (`board_id`) +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; + +CREATE TABLE `challenge` ( + `challenge_id` int(11) NOT NULL AUTO_INCREMENT, + `challenge_image` varchar(500) DEFAULT NULL, + `content` longtext, + `distance_current` double DEFAULT NULL, + `distance_goal` double DEFAULT NULL, + `donate_current` bigint(20) DEFAULT NULL, + `donate_goal` bigint(20) DEFAULT NULL, + `end_time` datetime DEFAULT NULL, + `participant` int(11) DEFAULT '0', + `personal_distance_goal` double DEFAULT NULL, + `start_time` datetime DEFAULT NULL, + `title` varchar(500) NOT NULL, + PRIMARY KEY (`challenge_id`) +) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8; + +CREATE TABLE `challenge_user` ( + `challenge_user_id` int(11) NOT NULL AUTO_INCREMENT, + `accumulated_distance` double DEFAULT NULL, + `donation` int(11) DEFAULT NULL, + `success` bit(1) DEFAULT NULL, + `challenge_id` int(11) DEFAULT NULL, + `user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`challenge_user_id`), + KEY `FKmq23oqyd3s02abqo1pspisxg8` (`challenge_id`), + KEY `FK6jxbecg44d3jiy8blxrgbo6wg` (`user_id`), + CONSTRAINT `FK6jxbecg44d3jiy8blxrgbo6wg` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`), + CONSTRAINT `FKmq23oqyd3s02abqo1pspisxg8` FOREIGN KEY (`challenge_id`) REFERENCES `challenge` (`challenge_id`) +) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8; + +CREATE TABLE `friend` ( + `f_id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL, + `user_user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`f_id`), + KEY `FKlbsgou1shyj6q8nmbrogm9f85` (`user_user_id`), + CONSTRAINT `FKlbsgou1shyj6q8nmbrogm9f85` FOREIGN KEY (`user_user_id`) REFERENCES `user` (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=95 DEFAULT CHARSET=utf8; + +CREATE TABLE `gugun` ( + `gugun_id` int(11) NOT NULL, + `gugun_name` varchar(255) DEFAULT NULL, + `sido_id` int(11) NOT NULL, + PRIMARY KEY (`gugun_id`), + KEY `FKr1fdujmqfj2lnb20von5rxcam` (`sido_id`), + CONSTRAINT `FKr1fdujmqfj2lnb20von5rxcam` FOREIGN KEY (`sido_id`) REFERENCES `sido` (`sido_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `matching` ( + `match_id` int(11) NOT NULL AUTO_INCREMENT, + `guest_id` int(11) NOT NULL, + `master_id` int(11) NOT NULL, + `room_id` varchar(255) NOT NULL, + PRIMARY KEY (`match_id`) +) ENGINE=InnoDB AUTO_INCREMENT=93 DEFAULT CHARSET=utf8; + +CREATE TABLE `message` ( + `m_id` int(11) NOT NULL AUTO_INCREMENT, + `message` varchar(255) NOT NULL, + `message_regtime` datetime NOT NULL, + `room_id` int(11) DEFAULT NULL, + `user_id` int(11) NOT NULL, + PRIMARY KEY (`m_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `payment` ( + `pay_id` int(11) NOT NULL AUTO_INCREMENT, + `charge` int(11) DEFAULT NULL, + `pay` int(11) DEFAULT NULL, + `user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`pay_id`), + KEY `FK4spfnm9si9dowsatcqs5or42i` (`user_id`), + CONSTRAINT `FK4spfnm9si9dowsatcqs5or42i` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=62 DEFAULT CHARSET=utf8; + +CREATE TABLE `ranks` ( + `rank_id` int(11) NOT NULL AUTO_INCREMENT, + `donate_exp` double NOT NULL, + `race_exp` double NOT NULL, + `tier` int(11) DEFAULT '0', + `total_exp` double NOT NULL, + `user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`rank_id`), + KEY `FK9baj7lwqe9acxbeplowb01mn9` (`user_id`), + CONSTRAINT `FK9baj7lwqe9acxbeplowb01mn9` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8; + +CREATE TABLE `record` ( + `record_id` int(11) NOT NULL AUTO_INCREMENT, + `accumulated_distance` double NOT NULL, + `accumulated_time` double NOT NULL, + `speed` double DEFAULT NULL, + `running_id` int(11) DEFAULT NULL, + `user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`record_id`), + KEY `FKpgn6jntg6cjbtk228sc44lrqq` (`running_id`), + KEY `FKeny3549xar8rnrcmdw3hl0la1` (`user_id`), + CONSTRAINT `FKeny3549xar8rnrcmdw3hl0la1` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`), + CONSTRAINT `FKpgn6jntg6cjbtk228sc44lrqq` FOREIGN KEY (`running_id`) REFERENCES `running` (`running_id`) +) ENGINE=InnoDB AUTO_INCREMENT=525 DEFAULT CHARSET=utf8; + +CREATE TABLE `reply` ( + `reply_id` int(11) NOT NULL AUTO_INCREMENT, + `board_id` int(11) NOT NULL, + `content` varchar(255) NOT NULL, + `editdate` datetime NOT NULL, + `parent_id` int(11) NOT NULL, + `regdate` datetime NOT NULL, + `reply_depth` int(11) NOT NULL, + `reply_order` int(11) NOT NULL, + `user_user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`reply_id`), + KEY `FKdegfm6syq4wn4syd0koe1oghe` (`user_user_id`), + CONSTRAINT `FKdegfm6syq4wn4syd0koe1oghe` FOREIGN KEY (`user_user_id`) REFERENCES `user` (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8; + +CREATE TABLE `running` ( + `running_id` int(11) NOT NULL AUTO_INCREMENT, + `accumulated_distance` double NOT NULL, + `accumulated_time` bigint(20) NOT NULL, + `end_time` datetime DEFAULT NULL, + `polyline` longtext, + `start_time` datetime DEFAULT NULL, + `thumbnail` longtext, + `user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`running_id`), + KEY `FKf62myi3cec1wmjrcr1xuffnm8` (`user_id`), + CONSTRAINT `FKf62myi3cec1wmjrcr1xuffnm8` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=366 DEFAULT CHARSET=utf8; + +CREATE TABLE `running_area` ( + `running_area_id` int(11) NOT NULL AUTO_INCREMENT, + `gugun_id` int(11) DEFAULT NULL, + `running_id` int(11) DEFAULT NULL, + PRIMARY KEY (`running_area_id`), + KEY `FKndou84oh53xlpshbh5ck2xb7t` (`gugun_id`), + KEY `FK3d1gdlso67048d2dqcp2iecpw` (`running_id`), + CONSTRAINT `FK3d1gdlso67048d2dqcp2iecpw` FOREIGN KEY (`running_id`) REFERENCES `running` (`running_id`), + CONSTRAINT `FKndou84oh53xlpshbh5ck2xb7t` FOREIGN KEY (`gugun_id`) REFERENCES `gugun` (`gugun_id`) +) ENGINE=InnoDB AUTO_INCREMENT=526 DEFAULT CHARSET=utf8; + +CREATE TABLE `running_user` ( + `running_user_id` int(11) NOT NULL AUTO_INCREMENT, + `total_count` int(11) DEFAULT NULL, + `total_distance` double NOT NULL, + `total_time` bigint(20) NOT NULL, + `user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`running_user_id`), + KEY `FKq3s0rd0g64ftk275ki87fs8fb` (`user_id`), + CONSTRAINT `FKq3s0rd0g64ftk275ki87fs8fb` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8; + +CREATE TABLE `sido` ( + `sido_id` int(11) NOT NULL, + `sido_name` varchar(255) DEFAULT NULL, + PRIMARY KEY (`sido_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `user` ( + `user_id` int(11) NOT NULL AUTO_INCREMENT, + `change_pw` varchar(255) DEFAULT NULL, + `auth` tinyint(1) DEFAULT '0', + `gender` int(11) DEFAULT NULL, + `mileage` int(11) DEFAULT '0', + `profile` varchar(255) DEFAULT NULL, + `user_email` varchar(255) NOT NULL, + `user_name` varchar(255) NOT NULL, + `user_pw` varchar(255) NOT NULL, + `gugun_id` int(11) DEFAULT NULL, + PRIMARY KEY (`user_id`), + KEY `FKtrhntqap8ebbsdi1h3vxfkyji` (`gugun_id`), + CONSTRAINT `FKtrhntqap8ebbsdi1h3vxfkyji` FOREIGN KEY (`gugun_id`) REFERENCES `gugun` (`gugun_id`) +) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8; + +CREATE TABLE `user_roles` ( + `user_user_id` int(11) NOT NULL, + `roles` varchar(255) DEFAULT NULL, + KEY `FKkv46dn3qakjvsk7ra33nd5sns` (`user_user_id`), + CONSTRAINT `FKkv46dn3qakjvsk7ra33nd5sns` FOREIGN KEY (`user_user_id`) REFERENCES `user` (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/doc/ERD/erd.png b/doc/ERD/erd.png deleted file mode 100644 index c3a1fdc6..00000000 Binary files a/doc/ERD/erd.png and /dev/null differ diff --git a/doc/ERD/erd.sql b/doc/ERD/erd.sql deleted file mode 100644 index 7d672b39..00000000 --- a/doc/ERD/erd.sql +++ /dev/null @@ -1,346 +0,0 @@ -๏ปฟCREATE TABLE `USER` ( - `user_id` int NOT NULL, - `user_pw` VARCHAR(255) NULL, - `user_name` VARCHAR(50) NULL, - `profile` VARCHAR(255) NULL -); - -CREATE TABLE `RUNNING` ( - `running_id` int NOT NULL, - `user_id` int NOT NULL, - `running_distance` VARCHAR(50) NULL, - `running_duration` VARCHAR(50) NULL, - `running_cal` VARCHAR(50) NULL, - `running_avg_pace` VARCHAR(50) NULL, - `running_min_pace` VARCHAR(50) NULL, - `running_path` VARCHAR(50) NULL -); - -CREATE TABLE `CHATROOM` ( - `room_id` int NOT NULL, - `room_name` VARCHAR(200) NULL, - `type` int NULL -); - -CREATE TABLE `MESSAGE` ( - `m_id` int NOT NULL, - `room_id` int NOT NULL, - `user_id` int NOT NULL, - `message` VARCHAR(255) NULL, - `message_regtime` VARCHAR(255) NULL -); - -CREATE TABLE `PARTICIPANTS` ( - `p_id` int NOT NULL, - `user_id` int NOT NULL, - `room_id` int NOT NULL -); - -CREATE TABLE `FRIENDS` ( - `f_id` int NOT NULL, - `user_id` int NOT NULL, - `freind_id` int NULL -); - -CREATE TABLE `BOARD` ( - `board_id` int NOT NULL, - `writer_id` int NOT NULL, - `board_title` VARCHAR(255) NULL, - `board_content` VARCHAR(255) NULL, - `board_regdate` VARCHAR(255) NULL, - `board_editdate` VARCHAR(255) NULL, - `board_likes` VARCHAR(255) NULL -); - -CREATE TABLE `COMMENT` ( - `commnet_id` int NOT NULL, - `comment_writer` int NOT NULL, - `board_id` int NOT NULL, - `writer_id` int NOT NULL, - `comment_title` VARCHAR(255) NULL, - `comment_content` VARCHAR(255) NULL, - `comment_regdate` VARCHAR(255) NULL, - `comment_editdate` VARCHAR(255) NULL, - `comment_order` VARCHAR(255) NULL, - `comment_depth` VARCHAR(255) NULL, - `commnet_parent` int NOT NULL -); - -CREATE TABLE `BOARD_LIKES` ( - `like_id` int NOT NULL, - `board_id` int NOT NULL, - `user_id` int NOT NULL -); - -CREATE TABLE `USER_ROLE` ( - `user_id` int NOT NULL, - `user_role` VARCHAR(50) NULL -); - -CREATE TABLE `AREA_Si` ( - `area_id` int NOT NULL, - `si_name` VARCHAR(10) NULL -); - -CREATE TABLE `AREA_Gu` ( - `gu_id` int NOT NULL, - `area_id` int NOT NULL, - `gu_name` VARCHAR(10) NULL -); - -CREATE TABLE `AREA_Dong` ( - `dong_id` int NOT NULL, - `gu_id` int NOT NULL, - `area_id` int NOT NULL, - `dong_name` VARCHAR(10) NULL -); - -CREATE TABLE `AREA_RUNNING` ( - `id` int NOT NULL, - `running_id` int NOT NULL, - `dong_id` int NOT NULL -); - -CREATE TABLE `USER_FAV_AREA` ( - `fav_id` int NOT NULL, - `user_id` int NOT NULL, - `dong_id` int NOT NULL, - `gu_id` int NOT NULL, - `area_id` int NOT NULL -); - -ALTER TABLE `USER` ADD CONSTRAINT `PK_USER` PRIMARY KEY ( - `user_id` -); - -ALTER TABLE `RUNNING` ADD CONSTRAINT `PK_RUNNING` PRIMARY KEY ( - `running_id`, - `user_id` -); - -ALTER TABLE `CHATROOM` ADD CONSTRAINT `PK_CHATROOM` PRIMARY KEY ( - `room_id` -); - -ALTER TABLE `MESSAGE` ADD CONSTRAINT `PK_MESSAGE` PRIMARY KEY ( - `m_id`, - `room_id`, - `user_id` -); - -ALTER TABLE `PARTICIPANTS` ADD CONSTRAINT `PK_PARTICIPANTS` PRIMARY KEY ( - `p_id`, - `user_id`, - `room_id` -); - -ALTER TABLE `FRIENDS` ADD CONSTRAINT `PK_FRIENDS` PRIMARY KEY ( - `f_id`, - `user_id` -); - -ALTER TABLE `BOARD` ADD CONSTRAINT `PK_BOARD` PRIMARY KEY ( - `board_id`, - `writer_id` -); - -ALTER TABLE `COMMENT` ADD CONSTRAINT `PK_COMMENT` PRIMARY KEY ( - `commnet_id`, - `comment_writer`, - `board_id`, - `writer_id` -); - -ALTER TABLE `BOARD_LIKES` ADD CONSTRAINT `PK_BOARD_LIKES` PRIMARY KEY ( - `like_id`, - `board_id`, - `user_id` -); - -ALTER TABLE `USER_ROLE` ADD CONSTRAINT `PK_USER_ROLE` PRIMARY KEY ( - `user_id` -); - -ALTER TABLE `AREA_Si` ADD CONSTRAINT `PK_AREA_SI` PRIMARY KEY ( - `area_id` -); - -ALTER TABLE `AREA_Gu` ADD CONSTRAINT `PK_AREA_GU` PRIMARY KEY ( - `gu_id`, - `area_id` -); - -ALTER TABLE `AREA_Dong` ADD CONSTRAINT `PK_AREA_DONG` PRIMARY KEY ( - `dong_id`, - `gu_id`, - `area_id` -); - -ALTER TABLE `AREA_RUNNING` ADD CONSTRAINT `PK_AREA_RUNNING` PRIMARY KEY ( - `id`, - `running_id`, - `dong_id` -); - -ALTER TABLE `USER_FAV_AREA` ADD CONSTRAINT `PK_USER_FAV_AREA` PRIMARY KEY ( - `fav_id`, - `user_id`, - `dong_id`, - `gu_id`, - `area_id` -); - -ALTER TABLE `RUNNING` ADD CONSTRAINT `FK_USER_TO_RUNNING_1` FOREIGN KEY ( - `user_id` -) -REFERENCES `USER` ( - `user_id` -); - -ALTER TABLE `MESSAGE` ADD CONSTRAINT `FK_CHATROOM_TO_MESSAGE_1` FOREIGN KEY ( - `room_id` -) -REFERENCES `CHATROOM` ( - `room_id` -); - -ALTER TABLE `MESSAGE` ADD CONSTRAINT `FK_USER_TO_MESSAGE_1` FOREIGN KEY ( - `user_id` -) -REFERENCES `USER` ( - `user_id` -); - -ALTER TABLE `PARTICIPANTS` ADD CONSTRAINT `FK_USER_TO_PARTICIPANTS_1` FOREIGN KEY ( - `user_id` -) -REFERENCES `USER` ( - `user_id` -); - -ALTER TABLE `PARTICIPANTS` ADD CONSTRAINT `FK_CHATROOM_TO_PARTICIPANTS_1` FOREIGN KEY ( - `room_id` -) -REFERENCES `CHATROOM` ( - `room_id` -); - -ALTER TABLE `FRIENDS` ADD CONSTRAINT `FK_USER_TO_FRIENDS_1` FOREIGN KEY ( - `user_id` -) -REFERENCES `USER` ( - `user_id` -); - -ALTER TABLE `BOARD` ADD CONSTRAINT `FK_USER_TO_BOARD_1` FOREIGN KEY ( - `writer_id` -) -REFERENCES `USER` ( - `user_id` -); - -ALTER TABLE `COMMENT` ADD CONSTRAINT `FK_USER_TO_COMMENT_1` FOREIGN KEY ( - `comment_writer` -) -REFERENCES `USER` ( - `user_id` -); - -ALTER TABLE `COMMENT` ADD CONSTRAINT `FK_BOARD_TO_COMMENT_1` FOREIGN KEY ( - `board_id` -) -REFERENCES `BOARD` ( - `board_id` -); - -ALTER TABLE `COMMENT` ADD CONSTRAINT `FK_BOARD_TO_COMMENT_2` FOREIGN KEY ( - `writer_id` -) -REFERENCES `BOARD` ( - `writer_id` -); - -ALTER TABLE `BOARD_LIKES` ADD CONSTRAINT `FK_BOARD_TO_BOARD_LIKES_1` FOREIGN KEY ( - `board_id` -) -REFERENCES `BOARD` ( - `board_id` -); - -ALTER TABLE `BOARD_LIKES` ADD CONSTRAINT `FK_USER_TO_BOARD_LIKES_1` FOREIGN KEY ( - `user_id` -) -REFERENCES `USER` ( - `user_id` -); - -ALTER TABLE `USER_ROLE` ADD CONSTRAINT `FK_USER_TO_USER_ROLE_1` FOREIGN KEY ( - `user_id` -) -REFERENCES `USER` ( - `user_id` -); - -ALTER TABLE `AREA_Gu` ADD CONSTRAINT `FK_AREA_Si_TO_AREA_Gu_1` FOREIGN KEY ( - `area_id` -) -REFERENCES `AREA_Si` ( - `area_id` -); - -ALTER TABLE `AREA_Dong` ADD CONSTRAINT `FK_AREA_Gu_TO_AREA_Dong_1` FOREIGN KEY ( - `gu_id` -) -REFERENCES `AREA_Gu` ( - `gu_id` -); - -ALTER TABLE `AREA_Dong` ADD CONSTRAINT `FK_AREA_Gu_TO_AREA_Dong_2` FOREIGN KEY ( - `area_id` -) -REFERENCES `AREA_Gu` ( - `area_id` -); - -ALTER TABLE `AREA_RUNNING` ADD CONSTRAINT `FK_RUNNING_TO_AREA_RUNNING_1` FOREIGN KEY ( - `running_id` -) -REFERENCES `RUNNING` ( - `running_id` -); - -ALTER TABLE `AREA_RUNNING` ADD CONSTRAINT `FK_AREA_Dong_TO_AREA_RUNNING_1` FOREIGN KEY ( - `dong_id` -) -REFERENCES `AREA_Dong` ( - `dong_id` -); - -ALTER TABLE `USER_FAV_AREA` ADD CONSTRAINT `FK_USER_TO_USER_FAV_AREA_1` FOREIGN KEY ( - `user_id` -) -REFERENCES `USER` ( - `user_id` -); - -ALTER TABLE `USER_FAV_AREA` ADD CONSTRAINT `FK_AREA_Dong_TO_USER_FAV_AREA_1` FOREIGN KEY ( - `dong_id` -) -REFERENCES `AREA_Dong` ( - `dong_id` -); - -ALTER TABLE `USER_FAV_AREA` ADD CONSTRAINT `FK_AREA_Dong_TO_USER_FAV_AREA_2` FOREIGN KEY ( - `gu_id` -) -REFERENCES `AREA_Dong` ( - `gu_id` -); - -ALTER TABLE `USER_FAV_AREA` ADD CONSTRAINT `FK_AREA_Dong_TO_USER_FAV_AREA_3` FOREIGN KEY ( - `area_id` -) -REFERENCES `AREA_Dong` ( - `area_id` -); - diff --git "a/doc/ERD_\354\265\234\354\242\205.mwb" "b/doc/ERD_\354\265\234\354\242\205.mwb" deleted file mode 100644 index f7e3a899..00000000 Binary files "a/doc/ERD_\354\265\234\354\242\205.mwb" and /dev/null differ diff --git "a/doc/ERD_\354\265\234\354\242\205.png" "b/doc/ERD_\354\265\234\354\242\205.png" deleted file mode 100644 index 999d0a0d..00000000 Binary files "a/doc/ERD_\354\265\234\354\242\205.png" and /dev/null differ diff --git a/doc/WebSockets_1.md b/doc/Study/WebSockets_1.md similarity index 100% rename from doc/WebSockets_1.md rename to doc/Study/WebSockets_1.md diff --git a/doc/WebSockets_2.md b/doc/Study/WebSockets_2.md similarity index 100% rename from doc/WebSockets_2.md rename to doc/Study/WebSockets_2.md