- ์๋น์ค ์๊ฐ
- ๊ธฐ์ ์คํ
- ์ฃผ์ ๊ธฐ๋ฅ
- ํ๋ก์ ํธ ๊ตฌ์ฑ๋
- ๊ฐ๋ฐ ํ ์๊ฐ
- ๊ฐ๋ฐ ๊ธฐ๊ฐ ๋ฐ ์ผ์
- ์คํ ๋ฐฉ๋ฒ
์ธํ(SSAFIT) ์ ๋น ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์์ ์ ์ฒด ์ ๋ณด(ํค, ๋ชธ๋ฌด๊ฒ, ๋์ด, ์ฑ๋ณ, ์ด๋๋ ๋ฒจ ๋ฑ)๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ฐ์ธ๋ณ ๋ง์ถค ๊ฑด๊ฐ ์ด๋์ ์ถ์ฒํด์ฃผ๋ ์๋น์ค์ ๋๋ค.
์ธํ์ ์ฌ์ฉ์๋ค์ ์ ์ฒด ์ ๋ณด์ ์ ์ฌ๋๋ฅผ ํ์ ํ์ฌ ์ด๋์ ์ถ์ฒํด์ค๋๋ค.
์ ํ๋ธ API๋ฅผ ํ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ ํํ ์ด๋์ ๋ง๋ ์์์ ๋ณด์ฌ์ค๋๋ค.
์ฌ์ฉ์๊ฐ ํ๋ ์ด๋ ์ด๋ ฅ๊ณผ ์ฆ๊ฒจ์ฐพ๋ ์ด๋์ ๋ฆฌ์คํธ๋ฅผ ์ธ์ ๋ ์ง ๋ณด์ฌ์ค๋๋ค.
๋ฐ์ํ ๋์์ธ์ ์ ์ฉํ์ฌ ์พ์ ํ ํ๋ฉด์ผ๋ก ์๋น์ค๋ฅผ ์ด์ฉํ์ค ์ ์์ต๋๋ค.
HTML5 | CSS3 | TypeScript |
React | Redux | React Router | axios |
Emotion | MUI | MSW |
Java | Spring-Boot | Hibernate | MariaDB | H2 |
Python | Swagger | redis | Numpy |
Jupyter | pandas | sklearn |
NGiNX | aws | Jenkins | docker |
๊ธฐ๋ฅ | ๋ด์ฉ |
---|---|
์ ์ฒด ์ ๋ณด ๊ธฐ๋ฐ ์ด๋ ์ถ์ฒ | ํค, ๋ชธ๋ฌด๊ฒ, ๋์ด, ์ด๋๋ ๋ฒจ ๋ฑ ์ฌ์ฉ์์ ์ ์ฒด ์ ๋ณด์ ๊ธฐ๋ฐํ์ฌ ์ด๋์ ์ถ์ฒํด์ค๋๋ค. |
์ ์ฌ๋ ๊ธฐ๋ฐ ์ด๋ ์ถ์ฒ | ์ฌ์ฉ์๋ค ๊ฐ์ ์ ์ฌ๋๋ฅผ ์ธก์ ํ์ฌ ๋์ ๋น์ทํ ์ฌ์ฉ์๊ฐ ํ ์ด๋๋ค์ ์ถ์ฒํด์ค๋๋ค. |
YouTube API ์์ | YouTube API๋ฅผ ํ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ถ์ฒ๋ฐ์ ์ด๋ ์์์ ์ ๊ณตํฉ๋๋ค. |
์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ | ์ฆ๊ฒจ์ฐพ๊ธฐํ ์ด๋๋ค์ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์์ต๋๋ค. |
์ด๋ ์ด๋ ฅ ์กฐํ | ๋์ ์ด๋ ์ด๋ ฅ์ ๋ ์ง๋ณ๋ก ํ์ธํ ์ ์์ต๋๋ค. |
๋ฐ์ํ ์น | ๋ฐ์ํ ๋์์ธ์ผ๋ก ๋๋ฐ์ด์ค ์๊ด์์ด ์พ์ ํ ํ๋ฉด์ผ๋ก ์ฆ๊ธฐ์ค ์ ์์ต๋๋ค. |
์ด๋ ์ถ์ฒ |
---|
YouTube API ์์ |
---|
์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ |
---|
์ด๋ ์ด๋ ฅ ์กฐํ |
---|
์ํคํ ์ฒ(Architecture) |
---|
๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ(ERD) |
---|
์ด๋ฆ |
์ญํ |
๊ฐ๋ฐ ๋ด์ฉ |
---|---|---|
์์๋ฐฐ | Back-end ํ์ฅ |
- DB ์ค๊ณ - ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ ย ย ย ย - ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ, ๋๋ฏธ ๋ฐ์ดํฐ ์ ์ ย ย ย ย - Cron Job ์ค์ผ์ฅด๋ง ์ ์ฉ - Spring Boot RESTful API ์์ฑ ย ย ย ย - ์ ์ฒด ์ด๋ ๋ฆฌ์คํธ ์กฐํ ย ย ย ย - ์ ์ฒด์ ๋ณด ๊ธฐ๋ฐ ์ถ์ฒ(๋น๋ก๊ทธ์ธ/๋ก๊ทธ์ธ) ์ด๋ ์กฐํ |
์กฐ์์ | Back-end | - DB ์ค๊ณ - ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ - ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ, ๋๋ฏธ ๋ฐ์ดํฐ ์ ์ - Spring Boot RESTful API ์์ฑ ย ย ย ย - ์ฆ๊ฒจ์ฐพ๊ธฐ, ์ ์ฌ๋ ๊ธฐ๋ฐ ์ถ์ฒ ์ด๋ ์กฐํ ย ย ย ย - ์ด๋ ์ด๋ ฅ ์ ์ฅ - Back-end Leader |
์กฐ์๋น | Back-end | - DB ์ค๊ณ - CI/CD ํ๊ฒฝ ์ค์ - Spring Boot RESTful API ์์ฑ ย ย ย ย - ๋ก๊ทธ์ธ, ํ์๊ฐ์ ๋๋ฉ์ธ ๊ฐ๋ฐ ย ย ย ย - ์ด๋ ์ด๋ ฅ ์กฐํ, ์ฆ๊ฒจ์ฐพ๊ธฐ - GitLab ๋ด๋น |
์คํ๋ฆผ | Front-end | - ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ - ๊ธฐ๋ณธ ์ ๋ณด ์์ ํ์ด์ง ์์ฑ - ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ, ๋๋ฏธ ๋ฐ์ดํฐ ์ ์ - JIRA ๋ด๋น |
๊น๋๊ฒฝ | Front-end | - ํ์๊ฐ์
๋ก๊ทธ์ธ ์๋น์ค ๊ตฌํ ย ย ย ย - ์ด๋ฉ์ผ ์ธ์ฆ ๋ฐ ์ ๋ ฅ์ ๋ณด ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํตํ ๋ถํ์ํ ํต์ ์ต์ํ ย ย ย ย - ๋น๋ก๊ทธ์ธ ์ฒดํ ์ฌ์ฉ์์ ํ์๊ฐ์ ์ ์ ์ฒด์ ๋ณด ์ ๋ ฅ๊ฐ ์ฐ๋ ย ย ย ย - Redux, Redux Saga๋ฅผ ํตํ ๋ก๊ทธ์ธ ๊ตฌํ - ์์ด๋ ์ฐพ๊ธฐ, ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ๊ตฌํ - Emotion์ ์ด์ฉํ CSS-in-JS ๋ฐฉ์์ผ๋ก ์คํ์ผ๋ง ์์ - ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํ ๋ฐ์ํ ๊ตฌํ - Mock Service Worker๋ฅผ ์ด์ฉํด API ํ ์คํธ ์งํ - Notion ๋ด๋น |
์ด์ฌ์ง | Front-end | - ์๋น์ค ๋ฉ์ธ ํํ์ด์ง ๊ฐ๋ฐ - ์ถ์ฒ ์ด๋ ์กฐํ ๋ฐ ์ด๋ ์์, ์ด๋ ์ ์ฅ ๊ธฐ๋ฅ ๊ตฌํ - Redux, Redux Saga๋ฅผ ํตํ ์ด๋ ๊ธฐ๋ก ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ - ๋น๋ก๊ทธ์ธ ์ฌ์ฉ์ ์ฒดํ ์๋น์ค ๊ฐ๋ฐ - 'Emotion'์ ์ด์ฉํ CSS-in-JS ๋ฐฉ์์ผ๋ก ์คํ์ผ๋ง ๊ตฌํ - 'Media Query'๋ฅผ ์ด์ฉํ ๋ฐ์ํ ์น ๊ตฌํ - Mock Service Worker๋ฅผ ์ด์ฉํด ๋ชฉ์ API ๊ตฌํํ์ฌ ๋ฐฑ์๋ API ์ค๊ณ ์ด์ API ํ ์คํ ์งํ - Front-end Leader |
- ์๊ฒฉ ์ ์ฅ์ ๋ณต์
$ git clone https://lab.ssafy.com/s06-bigdata-rec-sub2/S06P22A104.git
- ํ๋ก์ ํธ ํด๋๋ก ์ด๋
$ cd frontend
- ํ์ํ node_modules ์ค์น
$ yarn install
- ํด๋ผ์ด์ธํธ ์๋ฒ ์คํ
$ yarn start
- ์๊ฒฉ ์ ์ฅ์ ๋ณต์
$ git clone https://lab.ssafy.com/s06-bigdata-rec-sub2/S06P22A104.git
- ํ๋ก์ ํธ ํด๋๋ก ์ด๋
$ cd backend/spring/src/main/resources/
-
application.yml ํ์ผ ์์ฑ
์ฒ์ ์คํํ ๋ค jpa.hibernate.ddl-auto: create ์ต์ ์ jpa.hibernate.ddl-auto: none ์ผ๋ก ๋ฐ๊พผ๋ค.
server:
port: [์๋ฒ ํฌํธ]
spring:
redis:
host: [์๋ฒ ๋๋ฉ์ธ]
port: [redis ํฌํธ]
mail:
host: smtp.gmail.com
port: [์ด๋ฉ์ผ ํฌํธ]
username: [๊ตฌ๊ธ ์์ด๋]
password: [๊ตฌ๊ธ ๋น๋ฐ๋ฒํธ]
properties:
mail.smtp.auth: true
mail.smtp.starttls.enable: true
datasource:
url: jdbc:mariadb://[๋๋ฉ์ธ]:[port]/ssafit?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
driver-class-name: org.mariadb.jdbc.Driver
username: [DB ์ฌ์ฉ์๋ช
]
password: [DB PASSWORD]
jpa:
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
open-in-view: false
generate-ddl: true
show-sql: true
hibernate:
ddl-auto: create
properties:
hibernate:
jdbc:
batch_size: 100
order_inserts: true
order_updates: true
jwt:
time: 259200000 # 72 hour
secret: [ํ ํฐ ๋น๋ฐํค]
- ํ๋ก์ ํธ ๋น๋
$ ./gradlew build
- ๋น๋ ํด๋ ์ด๋ ํ jar ํ์ผ ์คํ
$ cd backend
$ cd spring/build/libs
$ java -jar [ํ์ผ๋ช
].jar