์ฝ๋ถ (Co-book) ์น์ฌ์ดํธ
๐ Homepage
Soo Min Hwang
- ๐ฒGithub: @smhwang0109
Chae Lin Shin
- ๐Github: @scl2589
Sun Hwan Park
- ๐งโโ๏ธGithub: @SunHwan-Park
Hyo Jin Lim
- ๐ฐGithub: @genie97
Da Hun Jeong
- ๐ผGithub: @PandaHun
- ์งํ ๊ธฐ๊ฐ: 2020.07.13 ~ 2020.08.21
- ๋ชฉํ
- ๋ ์ํ๋์ ์์ฝ๊ฒ ๊ธฐ๋กํ๊ณ ,
- ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๊ณต์ ํ๊ณ ์ถ์ ์ฌ๋,
- ๊พธ์คํ ์ฑ ์ฝ๊ณ ์ถ์ ์ฌ๋,
- ์ฑ ๊ณผ ์ฌ๋ ๋ชจ๋ ๋ง๋๊ณ ์ถ์ ์ฌ๋,
- ์ฑ ๋ชจ์์ ๋ ์ฝ๊ฒ ๊ด๋ฆฌํ๊ณ ํ๋ ๋ด์ฉ์ ์ ๋ฆฌํ๊ณ ์ถ์ ์ฌ๋
- โญ ์ด ๋ชจ๋ ์ฌ๋๋ค์ ์ํ ์น์ฌ์ดํธ ๋ง๋ค๊ธฐ
- ์น์ฌ์ดํธ ์ด๋ฆ: Cobook (์ฝ๋ถ)
- ์ฑ ์ฝ๋ ์ฌ๋๋ค์ ์ํ SNS ์ปค๋ฎค๋ํฐ & ๋ชจ์ ๋งค์นญ ์๋น์ค
- ์ฌ๋ก๊ฑด: '์ฑ ์ฝ๋ ์ฌ๋๋ค์ ์์ ์ด๋กฑ, ์ฝ๋ถ'
- ์บ๋ฆญํฐ: ์ฑ
์ฝ๋ ๊ฑฐ๋ถ์ด, ์ฝ๋ถ์ด
- ๊ท์ฌ์ด ์บ๋ฆญํฐ ํ์ฉํด ์๋น์ค ์ฌ์ฉ์ ์น๊ทผ๊ฐ ์ ๊ณ
1์ฃผ์ฐจ
- 7/10 - ๊ธฐํ (๋ชจ์จ ๋ฐ ์ด๋ผ์ด๋/ ํ๋ฅด์๋ ์ค์ )
- 7/13 - ๊ธฐํ (์์ด๋ - ์คํ ๋ฆฌ๋ผ์ธ/ ์์ด๋ ์๊ตญ)
- 7/14 - ๊ธฐํ (์์ด๋- ์์ด๋์ด ์คํฌ๋ผ/ ์ ์๊ถ ๊ด๋ จ & ์ฑ ๋ชจ์)
- 7/15 - ๊ฐ์ธ๊ณผ์ ์งํ
- 7/16 - ๊ธฐํ(์ฑ ๋ชจ์-์์ด๋์ด ํ์/ ํ๋ก์ ํธ ๋ฐฉํฅ์ฑ/ ์์ด์ดํ๋ ์)
- 7/17 - ๊ธฐํ (์๋น์ค ์ด๋ฆ), Convention ์ ํ๊ธฐ
2์ฃผ์ฐจ
- 7/20 - ๊ธฐํ (๋ฐํ ์ค๋น) + ERD + ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ
- 7/21 - ERD + OAuth/Book API ๊ด๋ จ discussion
- 7/22 - ๊ธฐํ ๋ฐํ + ์ปจ๋ฒค์ ์ ๋ฆฌ (Java/Vue) + ์ง๋ผ ์ด์ ์ ๋ฆฌ + AWS ํ์ธ + API ์์ฒญ ๋ฆฌ์คํธ ์ ๋ฆฌ
- 7/23 - Back-end (OAuth + Post CRUD) & Front-end (๋์์ธ ํ์ + Wireframe)
- 7/24 - Back-end (OAuth + Post/Club CR + JPA) + Front-end (Signup/Login page + Club + Feed + Navbar)
- 7/25 ~ 7/26 - Back-end (OAuth) + Front-end (Feed - Create/Detail + Profile - List/Update + Club - Detail/List + Authentication - Password Change)
3์ฃผ์ฐจ
- 7/27 - Back-end (JWT bug + fix bug + OAuth) + Front-end (Club - Create + Authentication - Background image + Profile - Update + Add Vuetify/Cookies)
- 7/28 - Back-end (ํ๋กํ - ์์ธ ์กฐํ + ํ๋ก์ ) + Front-end (Profile - ํ๋ก์/ํ๋ก์ + Authentication ๋์์ธ ์์ + Post/Club API ์ฐ๊ฒฐ
- 7/29 - Back-end (ํ๋กํ - ํ๋ก์ + Club - ํ๋ก์) + Front-end (ํ๋กํ - ํ๋ก์/ํ๋ก์ ๋ชจ๋ฌ ๊ตฌํ + ์์ ๊ธฐ๋ฅ)
- 7/30 - Back-end (Club - Reading Feed) + Front-end (Feed - ๋ฌดํ ์คํฌ๋กค + ํ๋กํ - ์์ + ํ๋ก์ ๊ธฐ๋ฅ ์ค์๊ฐ ๋ฐ์)
- 7/31 - Front-end (์ค๋ฅ ์์ ) + ์ค๊ฐ PPT ๋ฐ ๋ฐํ ์ค๋น + ์ค๊ฐ ์์ฐ ์์ ์ ์
4์ฃผ์ฐจ
- 8/3 - Back-end (์ฟผ๋ฆฌ ๊ฐ์ + Meetup - CRUD + Club - CRUD + Authentication - OAuth/Signup) + Front-end(Authentication - Signup fix bug + Password Find + OAuth + Alarm) + ์ฝ๋ถ์ด ์บ๋ฆญํฐ ์ ์
- 8/4 - Back-end (์ฟผ๋ฆฌ ๊ฐ์ + Domain ์ด๋ฆ ์์ + OAuth - ์นด์นด์ค) + Front-end (Authentication - ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ ๊ตฌํ/OAuth + Club - ๋ง๋ฌด๋ฆฌ + Club ์์ฑ ๋ฐ ์์ ์ ์ด๋ฏธ์ง ๋ณด์ฌ์ฃผ๊ธฐ + Navbar - redesign) + Firebase ์ค์
- 8/5 - Back-end (์ฟผ๋ฆฌ ๊ฐ์ + ๋๋ฉ์ธ ์์ + Authentication - Google OAuth) + Front-end (Feed - New Design + Profile - transition + Club - CRUD + Firebase)
- 8/6 - Back-end (์๋ฒ ๋ฐ ์ฟผ๋ฆฌ ์์ ํ + Google OAuth ํ๋ก ํธ์ ์ฐ๊ฒฐ) & Front-end (Post Detail - New Design + Club - CRUD ์๋ฃ + OneDay Event - CRUD) + Firebase
- 8/7 - Back-end (HTTPS ์ธํ + ์๋ฆผ) + Front-end (Authentication - ์๋ฌ๋ฉ์์ง ๋ ธ์ถ + Book - new design + Club - fix bug + Oneday Event - fix bug) + Web RTC
5์ฃผ์ฐจ
- 8/10 - Back-end (ํต๊ณ API + ์๋ฆผ + https ์ค์ ) + Front-end(Profile - ํต๊ณ + Book - axios ์ฐ๊ฒฐ) + Web RTC
- 8/12 - Back-end (Jenkins) + Front-end (Book - Genre ์ถ๊ฐ + Search - ๊ธฐ๋ณธ ๋์์ธ + Feed - New Design) + Web RTC + ์์ด์ฝ
- 8/13 - Back-end (Search - ๋์ API) & Front-end (Feed - banner ์ถ๊ฐ + Search - User/ Review/ Book/ Club + ์นด๋ shadow ์ถ๊ฐ + Jenkins + OneDayEvent/ClubEvent - ์๊ฐ ์ ํ) + Web RTC
- 8/14 - Back-end (์๋ฆผ API + Jenkins - Back์ชฝ ์ฑ๊ณต) + Front-end (Search - router ๋ฌธ์ ํด๊ฒฐ/ link ์ถ๊ฐ + Navigation - margin ์ถ๊ฐ + Carousel ์ถ๊ฐ + ์ต์ด ๋ก๊ทธ์ธ ํ ์ฅ๋ฅด ์ ํ Modal + SweetAlert ์ถ๊ฐ) + Web RTC
- 8/15 - Front-end (Search - tag ๊ฒ์ ์ถ๊ฐ + ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ - Sweetalert) + ์์ ํ์ (์์ฐ ์์ & UCC ์์ [๋์์ฐธ์น ํจ๋ฌ๋])
- 8/16 - Back-end (Genre API) + Front-end (Navbar - dropdown-menu ์์น ์์ + ProfileFeed/ ProfileBookmark - ์์ฑ ์ญ์์ผ๋ก ์ ๋ ฌ + ProfileOverview - ํต๊ณ ์๊ฐ ๋ณ๊ฒฝ + Footer + ์๋ก๊ฐ๊ธฐ ๋ฒํผ ์ถ๊ฐ + ๋ฒํผ ์๊ฐ ๋ณ๊ฒฝ ) + Web RTC
6์ฃผ์ฐจ
- 8/17 -Front-end(ReviewDetail/ BookDetail - ๋๋ค์ ํ ์ค ์์ + BookClub/ OnedayEvent/ ProfileBookmark/ ProfileFeed - 6๊ฐ์ฉ ๋ฏธ๋ฆฌ ๊ฒ์๋ฌผ ๋ณด์ฌ์ฃผ๊ธฐ + Notification - ๋ถํด๋ฝ ๊ฐ์ ์น์ธ/ ์๋ฆผ ๋์์ธ + Search - ๊ฒ์ ๊ฒฐ๊ณผ ์์ + ํ๋ก์/ํ๋ก์ฐ ์์ + Profile - default image ์์ + ProfileFeed - ํ๋ก์ ์์ ์ ์ ์ ์ถ์ฒ ์นด๋ ์์ฑ + Inifinite Loading ์ถ๊ฐ) + ๋์์ฐธ์น ํจ๋ฌ๋ ์์ ์ดฌ์
- 8/18 - Back-end (Jenkins ์งํ + Genre API + OAuth2 Validation + Social Login) + Front-end (Footer - ํ๋จ ๊ณ ์ + ํ์ํตํ + Login - ์๋ฌ๋ฉ์์ง ์์ + ) + ์์ฐ์์ ๋๋ณธ + UCC ์ ๋ ๋ธ ํ์ ์์ ์ดฌ์
- 8/19 - Back-end (ํ์ํตํ API + ์ด๋ฒคํธ ์ฐพ๊ธฐ API) + Front-end (ํ์ํตํ - Webex ๋์ ์๋ฃ + Footer - ์์น ์์ + Infinite Scroll ๋ฉํธ ์์ + ์ด๋ฉ์ผ ์ฌ์ ์ก + Signup/Login/PasswordChange - design ์์ + OnedayEventDetail/ ClubDetail - leader ํ์ + Banner - width ์์ + Console error ์์ ) + ๋ฐํ PPT ์ ์ + ์์ ํธ์ง (๋์ ์ฐธ์น ํจ๋ฌ๋)
- 8/20 - Back-end (์๋ฒ ๋ฐ ์ฟผ๋ฆฌ ์์ ํ + Google OAuth ํ๋ก ํธ์ ์ฐ๊ฒฐ) & Front-end (Notification - ์์ + Signup - ํ์๊ฐ์ ์๋ฃ ํ์ด์ง routing + Login/ Signup/PasswordChange - background image ์์ ) + ๋ฐํ ์ค๋น ๋ฐ ํผ๋๋ฐฑ + ์์ ํธ์ง (๋์ ์ฐธ์น ํจ๋ฌ๋ ์๋ฃ + ์์ฐ ์์ ์๋ฃ)
- 8/21 - ์ต์ข ๋ฐํ
Proposal
Wireframe
Video Plan & Proposal
Front ์์ธํ ์ดํด๋ณด๊ธฐ
- Vue: 2.6.11
- Vue CLI: 4.3.1
- Vuex: 3.4.0
- Vuetify: 2.2.11
- SweetAlert2: 9.17.1
- chart.js: 3.6.5
- firebase: 7.17.1
- axios: 0.19.2
Back ์์ธํ ์ดํด๋ณด๊ธฐ
- Swagger: 2.9.2
- Spring Boot
- Spring Security
- Spring Jenkins
- NGINX
- E2C
-
frontend ํด๋๋ก ๋ค์ด์ ํ์ํ ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
-
$ npm i
-
-
frontend ํด๋ (vue ํ๋ก์ ํธ)๋ฅผ ์คํํฉ๋๋ค.
-
$ npm run serve
-
- Java (Open JDK 14)๋ฅผ ์ค์นํฉ๋๋ค.
- Maven์ ์ค์นํฉ๋๋ค.
- VS Code ๋ฐ ๊ด๋ จ Spring Boot Extension Pack ์ค์นํฉ๋๋ค.
- Docker๋ฅผ ์ค์นํฉ๋๋ค.
Maria DB ์ปจํ ์ด๋ ์คํ
-
docker run --name-db -p 3306:3306 -e MYSQL_ROOT_PASSWORD={ํจ์ค์๋} -d mariddb- ํจ์ค์๋๋ฅผ ์น ๋๋, ๋๊ดํธ๋ฅผ ์ง์ฐ๊ณ ์นฉ๋๋ค.
-
docker exec -it maria-db mysql -u root -p- docker๋ฅผ ์ผ๊ณ , maria-db๋ฅผ ์คํํ๊ธฐ ์ํ ์ฝ๋์ ๋๋ค.
DB ํ ์ด๋ธ ์์ฑ
- DB ํ ์ด๋ธ์ ์์ฑํฉ๋๋ค.
3๊ฐ์ง ๊ฐ์น๋ฅผ ํตํด ์ฑ ์ฝ๋ ์ฌ๋, ์ฝ๊ณ ์ถ์ ์ฌ๋๋ค์ ์ํ ์น์ฌ์ดํธ ๊ตฌํ
- ๋ฆฌ๋ทฐ๋ค์ ํ๋์ ๋ชจ์๋ณด๊ณ , ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ์ํตํ ์ ์์ต๋๋ค.
-
์ฑ ์ ์ฝ์ ํ ๋๋ ๊ฐ๋ ํน์ ์ฌ๋ฏธ๋ฅผ ๊ณต์ ํ๊ณ ์ถ๋์?
-
์จ๋ผ์ธ ์ฑ ๋ชจ์์ ๋งค์นญํ์ฌ ์ฌ์ฉ์๋ค์ด ๊ฐ์ ์ฑ ์ ์ฝ๊ณ ํจ๊ป ์ด์ผ๊ธฐ๋ฅผ ๋๋ ์ ์์ต๋๋ค.
- ๋ณธ์ธ์ ๋ ์ ๋ฆฌ๋ทฐ, ๋ถํด๋ฝ, ํต๊ณ ๋ฑ์ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋ ๋๋ง์ ์์ฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ ์ ๋ค์ ์ฑ ๋ฆฌ๋ทฐ ๊ฒ์๋ฌผ์ ๋ชจ์ ๋์ ๊ณต๊ฐ
- Feed
- ํ๋ก์ฐํ ์ ์ ๊ฐ ์์ฑํ ์ฑ ๋ฆฌ๋ทฐ ๊ฒ์๋ฌผ ํ์ธ
- ์ฑ
๋ฆฌ๋ทฐ์ ๊ธด 'ํ
์คํธ ํํ'๋ณด๋ค๋ ์ด๋ฅผ ์์ฝํ๋ ์ด๋ฏธ์ง ์์ฃผ์ ๊ฒ์๋ฌผ ๋
ธ์ถ
- ์ด๋ฏธ์ง Hover์ ํ์ , ํ์คํ, ๋๋ค์ ํ์ธ ๊ฐ๋ฅ (์ฌ์ฉ์ interaction ์ฆ๊ฐ)
- ์์ธ ๋ฆฌ๋ทฐ
- ์ฑ ์ ํํ๋ก ์ ๊ณต๋๋ฉฐ, ์ฑ ์ ๋ํ ๊ธฐ๋ณธ ์ ๋ณด์ ์ ์ ๊ฐ ์์ฑํ ๋ฆฌ๋ทฐ ํ์ธ
- ํ์ค ํ ๋ฟ๋ง ์๋๋ผ ๋์ผํ ์ฑ ์ ๋ํ ๋ค๋ฅธ ์ ์ ์ ๋ฆฌ๋ทฐ ๋ ธ์ถ
- ๋๊ธ ์์ฑ ๊ฐ๋ฅ
- ํ๊ทธ, ์ข์์, ๋ถ๋งํฌ, ๊ณต์ ํ๊ธฐ ๊ธฐ๋ฅ
- ์ฑ ์ ๋ํ ์ค๊ฑฐ๋ฆฌ ๋ฐ ์์ธ ์ ๋ณด ํ์ธ
- ์ฝ๋ถ ์ ์ ๋ค์ ๋ฆฌ๋ทฐ ํ ๋์ ํ์ธ
์ฑ ๋ชจ์ ๋งค์นญ ์๋น์ค, ํด๋ฝ
-
BookClub
์ ๊ธฐ์ ์ผ๋ก ์ฑ ๋ชจ์์ ๊ฐ๋ ํ๋์ ๊ทธ๋ฃน
-
๋ด๊ฐ ์ ํธํ๋ ์ฅ๋ฅด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ๋ชจ์ง ์ค์ธ ํด๋ฝ ์ฐพ๊ธฐ ๊ฐ๋ฅ
-
ํด๋ฝ ๋ฉค๋ฒ, ํด๋ฝ ์ค๋ช , ์ฃผ์ ์ฅ๋ฅด, ์์น (์จ๋ผ์ธ/์คํ๋ผ์ธ) ํ์ธ ๊ฐ๋ฅ
-
-
BookClub Event
ํด๋ฝ ์์์ ์งํ๋๋ ์ ๊ธฐ์ ์ธ, ํ ๋ฒ์ ์ฑ ๋ชจ์
- ๋ฆฌ๋ฉ์ ์ฐธ์ฌํ ๋ฉค๋ฒ, ๋ฉค๋ฒ ๊ฐ๊ฐ์ธ์ด ํด๋น ์ฑ ์ ๋ํด ์์ฑํ ๋ฆฌ๋ทฐ, ๋ฆฌ๋ฉ์์ ์งํ๋ ์ง๋ฌธ์ง ํ์ธ ๊ฐ๋ฅ
- ์จ๋ผ์ธ์ผ๋ก ์งํํ ๊ฒฝ์ฐ, Webex๋ฅผ ํตํ ์จ๋ผ์ธ ๋ ์๋ชจ์ ์ง์
ํด๋ฝ๊ณผ ๊ด๊ณ์์ด ์งํ๋๋ ์ผํ์ฑ ์ฑ ๋ชจ์
-
๋ด๊ฐ ์ ํธํ๋ ์ฅ๋ฅด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ๋ชจ์ง์ค์ธ ์๋ฐ์ด ์ด๋ฒคํธ ์ฐพ๊ธฐ ๊ฐ๋ฅ
-
์๋ฐ์ด ์ด๋ฒคํธ์ ์ฐธ์ฌํ ๋ฉค๋ฒ, ๊ฐ๊ฐ์ธ์ด ํด๋น ์ฑ ์ ๋ํด ์์ฑํ ๋ฆฌ๋ทฐ, ์๋ฐ์ด ์ด๋ฒคํธ์์ ์งํ๋ ์ง๋ฌธ์ง ํ์ธ ๊ฐ๋ฅ
-
์จ๋ผ์ธ์ผ๋ก ์งํํ ๊ฒฝ์ฐ, Webex๋ฅผ ํตํ ์จ๋ผ์ธ ๋ ์๋ชจ์ ์ง์
๋ ์ ํ๋ ๊ด๋ฆฌ ์๋น์ค
- ๋ด๊ฐ ์์ฑํ ์ฑ ๋ฆฌ๋ทฐ ํ์ธ
- ๋ด๊ฐ ๊ฐ์ ํ ๋ถํด๋ฝ ๋ฐ ์ฐธ์ฌ์ค์ธ ๋ถํด๋ฝ/์๋ฐ์ด ์ด๋ฒคํธ ํ์ธ
- ๋ด๊ฐ ๋ถ๋งํฌํ ๊ฒ์๋ฌผ ํ์ธ
- ๋์ ๋ ์ ํ๋์ ์บ๋ฆฐ๋์ ํต๊ณ๋ฅผ ํตํด ํ์ธ
- ํ๋ก์ฐ์ ํ๋ก์๋ฅผ ํตํ ์ ์ ๊ฐ์ ์ํต
๊ฒ์ ์๋น์ค
- Review ๊ฒ์ ๊ฒฐ๊ณผ: ํ์คํ ๋ฐ ํ๊ทธ๋ก ๊ฒ์ ๊ฐ๋ฅ
- User ๊ฒ์ ๊ฒฐ๊ณผ: ๋๋ค์์ผ๋ก ๊ฒ์ ๊ฐ๋ฅ
- Book ๊ฒ์ ๊ฒฐ๊ณผ: ๋์๋ช , ์ ์, ์ฅ๋ฅด๋ก ๊ฒ์ ๊ฐ๋ฅ
- Book Club ๊ฒ์ ๊ฒฐ๊ณผ: ๋ถํด๋ฝ ์ด๋ฆ, ์ฅ๋ฅด๋ก ๊ฒ์ ๊ฐ๋ฅ
- Oneday Event ๊ฒ์ ๊ฒฐ๊ณผ: ์๋ฐ์ด ์ด๋ฒคํธ ์ด๋ฆ, ์ฅ๋ฅด๋ก ๊ฒ์ ๊ฐ๋ฅ
์ธ๊ธฐ ๋ฆฌ๋ทฐ, ํ๋ก์ํ ์ ์ ๋ค์ ๋ฆฌ๋ทฐ, ๊ด์ฌ ์ฅ๋ฅด ๋ฆฌ๋ทฐ๋ก ๊ตฌ์ฑ






















