์ฝ์, ๋ชจ์ ์ค์๊ฐ ํตํฉ ๊ด๋ฆฌ ์น ์ ํ๋ฆฌ์ผ์ด์
๐จ 1. ๋ฌธ์ ์ ์
- ํ์ฌ, ์น๊ตฌ๋ค๊ณผ ๊ณต์ ํ๋ ๊ธฐ๋ฅ์ด ๋ถ์กฑํ ๋ค์ด๋ฒ ์ง๋๋ ์นด์นด์ค ๋งต์ ํ๊ณ ๋๋ฌธ์, ์ฝ์ ์ฅ์๋ฅผ ์ ํ ๋ ๊ณ ์ถฉ์ด ๋ง์ต๋๋ค.
- (2024.07.29 ๊ธฐ์ค) ํ์ฌ๊น์ง ์ฌ์ฉ์๋ค์ ์ค๊ฐ ์ง์ ์ ๊ธฐ์ค์ผ๋ก ์ฐํ ๊ฐ๊ฒ ๋ชฉ๋ก์ ๊ณต์ ํ๋ ์๋น์ค๊ฐ ์์ต๋๋ค.
- ์ด๋ก ์ธํด ์ฝ์์ ์ก์ ๋๋ง๋ค ๋ณธ์ธ์ด ์ฐํ ๊ฐ๊ฒ ๋ชฉ๋ก์ ์ผ์ผํ SNS ์ฑํ ์ผ๋ก ๊ณต์ ํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์ต๋๋ค. ์ด๋ฐ ๋ฒ๊ฑฐ๋ก์์ ์์ ๊ณ , ์น๊ตฌ๋ค๊ณผ ๊ฐํธํ๊ฒ ๊ณต์ ํ๋ฉฐ ์ฝ์ ์ฅ์๋ฅผ ์ ํ ์ ์๋ ์๋น์ค๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ์ด ์ฃผ์ ๋ฅผ ์ ์ ํ๊ฒ ๋์์ต๋๋ค.
๐๐ป 2. ํ์์ฑ
- ์ค๊ฐ ์ง์ ์ ๊ธฐ์ค์ผ๋ก ์ฐํ ๊ฐ๊ฒ ๋ชฉ๋ก์ ๊ณต์ ํ๋ ์๋น์ค๋ฅผ ํตํด ์ฝ์ ์ฅ์๋ฅผ ์ ํ๋ ๊ณผ์ ์ด ํจ์ฌ ํธ๋ฆฌํ๊ณ ์ ์ํด์ง ๊ฒ์ ๋๋ค. ์ด ์๋น์ค๋ฅผ ํตํด ์ฌ์ฉ์๋ค์ ์์ฝ๊ฒ ์น๊ตฌ๋ค๊ณผ ํจ๊ป ์ฝ์ ์ฅ์๋ฅผ ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
- ์ฝ์ ์ฅ์๊ฐ ๊ฒฐ์ ๋๋ฉด, ์นด์นด์คํก push ์๋ฆผ์ ํตํด ์ฝ์ ์ฅ์์ ์์น์ ํจ๊ป ์๋ด ๋ฉ์์ง๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
- ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ค์ ๋ชจ์ ์ผ์ ์ ๋ฑ๋กํ๊ณ , ๋ฑ๋ก๋ ์ผ์ ์ push ์๋ฆผ์ ํตํด ์ฝ์์ ์์ง ์๋๋ก ๋์์ค ์ ์์ต๋๋ค.
โ ์์ด๋ ์ค๋ณต ํ์ธ, ๋น๋ฐ๋ฒํธ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํตํ ํ์๊ฐ์ ๋ฐ ๋ก๊ทธ์ธ(ํ์๋ง๋ค ๋๋ค ์บ๋ฆญํฐ ํ์ฌ ๋ฐฐ์ )
โ ์น๊ตฌ(ํ์) ๋งบ๊ธฐ๋ฅผ ํตํ ๊ทธ๋ฃน ์์ฑ ๋ฐ ๊ด๋ฆฌ
โ ์นด์นด์ค API๋ฅผ ํ์ฉํ ์ค๊ฐ์ง์ ์ฐพ๊ธฐ ๋ฐ ์ฃผ๋ณ ํ๋ ์ด์ค ์กฐํ/์ฐ์ ํตํ ์ฝ์ ์ฅ์ ํ๋ณด ๋ฑ๋ก
โ ํฌํ๋ฅผ ํตํ ์ต์ข ์ฝ์ ์ฅ์ ๊ฒฐ์ ๋ฐ ์ด๋ฉ์ผ ์๋ฆผ ๊ธฐ๋ฅ
- ์๊ตฌ์ฌํญ ๋ช ์ธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ERD๋ฅผ ์์ฑํ์ต๋๋ค
- ํ์(user)์ด ์ฝ์(promise)์ ์ํด ๊ทธ๋ฃน(prom_group)์ ํ์ฑํ๊ณ , ๊ทธ๋ฃน ๋ด์์ ์ฝ์์ ๋ํ ํ๋ณด(devote_candidate)๋ฅผ ๋ฑ๋กํ๊ณ ํฌํ(devote)ํ๋ ์์คํ
- ํ์ ๊ด๋ฆฌ:
- ํ์(user)์ ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ, ์ฃผ์ ๋ฑ์ผ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค.
- ํ์์ ์น๊ตฌ ๋ชฉ๋ก(friends)๊ณผ ๊ทธ๋ฃน ๋ฉค๋ฒ(group_member)๋ฅผ ํตํด ๋ค๋ฅธ ํ์๊ณผ์ ๊ด๊ณ๋ฅผ ์ ์งํฉ๋๋ค.
- ๊ทธ๋ฃน ๊ด๋ฆฌ:
- ๊ทธ๋ฃน(prom_group)์ ์ฌ๋ฌ ํ์์ด ์ํ ์ ์์ผ๋ฉฐ, ๊ฐ ๊ทธ๋ฃน์ ํน์ ํ ์ฝ์(promise)์ ๊ฐ์ง ์ ์์ต๋๋ค.
- ํฌํ ๊ด๋ฆฌ:
- ํ์์ ํน์ ์ฝ์์ ๋ํ ํ๋ณด(devote_candidate)๋ฅผ ๋ฑ๋กํ ์ ์์ต๋๋ค.
- ๊ฐ ํ๋ณด๋ ๊ฐ๊ฒ ์ ๋ณด(place_name, place_address)์ ์์น ์ ๋ณด(lat, log)๋ฅผ ๊ฐ์ง๋๋ค.
- ํฌํ(vote)๋ ํ์๊ณผ ํ๋ณด ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ฉฐ, ํฌํ ์ํ(devote_state)๋ฅผ ํตํด ํ์ฌ ํฌํ์ ์งํ ์ํ๋ฅผ ์ถ์ ํฉ๋๋ค.
- ์ฝ์ ๊ด๋ฆฌ:
- ์ฝ์(promise)์ ์ค๊ฐ์ง์ ์ ์์น ์ ๋ณด(pro_lat, pro_lon), ์ฝ์๋ช (pro_name), ์ฝ์ ์ผ์ (pro_date), ์ฝ์ ๋ด์ฉ(pro_desc) ๋ฑ์ ํฌํจํฉ๋๋ค.
- ์ฝ์์ ํน์ ๊ทธ๋ฃน๊ณผ ์ฐ๊ด๋ ์ ์์ผ๋ฉฐ, ์ต์ข ํ๋ณด(candidiate_id)๋ฅผ ํฌํจํฉ๋๋ค.