Skip to content

SSA-FIT/ssafit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SSAFIT - ๊ฐœ์ธ๋ณ„ ๋งž์ถค ๊ฑด๊ฐ• ์šด๋™ ์ถ”์ฒœ ์„œ๋น„์Šค


SSAFIT Main
ssafit
:----------------------------------------------------------------------------------------:
ssafit
:----------------------------------------------------------------------------------------:
ssafit
:----------------------------------------------------------------------------------------:
ssafit

๋ชฉ์ฐจ

  1. ์„œ๋น„์Šค ์†Œ๊ฐœ
  2. ๊ธฐ์ˆ  ์Šคํƒ
  3. ์ฃผ์š” ๊ธฐ๋Šฅ
  4. ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ๋„
  5. ๊ฐœ๋ฐœ ํŒ€ ์†Œ๊ฐœ
  6. ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ ๋ฐ ์ผ์ •
  7. ์‹คํ–‰ ๋ฐฉ๋ฒ•

๐Ÿ’ ์„œ๋น„์Šค ์†Œ๊ฐœ

์‹ธํ•(SSAFIT) ์€ ๋น…๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ์‹ ์ฒด ์ •๋ณด(ํ‚ค, ๋ชธ๋ฌด๊ฒŒ, ๋‚˜์ด, ์„ฑ๋ณ„, ์šด๋™๋ ˆ๋ฒจ ๋“ฑ)๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๊ฐœ์ธ๋ณ„ ๋งž์ถค ๊ฑด๊ฐ• ์šด๋™์„ ์ถ”์ฒœํ•ด์ฃผ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

์‹ธํ•์€ ์‚ฌ์šฉ์ž๋“ค์˜ ์‹ ์ฒด ์ •๋ณด์™€ ์œ ์‚ฌ๋„๋ฅผ ํŒŒ์•…ํ•˜์—ฌ ์šด๋™์„ ์ถ”์ฒœํ•ด์ค๋‹ˆ๋‹ค.

์œ ํŠœ๋ธŒ API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ์šด๋™์— ๋งž๋Š” ์˜์ƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ํ–ˆ๋˜ ์šด๋™ ์ด๋ ฅ๊ณผ ์ฆ๊ฒจ์ฐพ๋Š” ์šด๋™์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์–ธ์ œ๋“ ์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜• ๋””์ž์ธ์„ ์ ์šฉํ•˜์—ฌ ์พŒ์ ํ•œ ํ™”๋ฉด์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ›  ๊ธฐ์ˆ  ์Šคํƒ

Front-end

HTML5 CSS3 TypeScript
HTML5 CSS3 TypeScript
React.js Redux React Router axios
React Redux React Router axios
Emotion MUI Mock Service Worker
Emotion MUI MSW

Back-end

Java Spring-Boot Hibernate Maria DB H2
Java Spring-Boot Hibernate MariaDB H2
Python Swagger redis numpy
Python Swagger redis Numpy
Jupyter Pandas sklearn
Jupyter pandas sklearn

DevOps

NGiNX aws Jenkins docker
NGiNX aws Jenkins docker

๐Ÿ’ก ์ฃผ์š” ๊ธฐ๋Šฅ

๊ธฐ๋Šฅ ๋‚ด์šฉ
์‹ ์ฒด ์ •๋ณด ๊ธฐ๋ฐ˜ ์šด๋™ ์ถ”์ฒœ ํ‚ค, ๋ชธ๋ฌด๊ฒŒ, ๋‚˜์ด, ์šด๋™๋ ˆ๋ฒจ ๋“ฑ ์‚ฌ์šฉ์ž์˜ ์‹ ์ฒด ์ •๋ณด์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์šด๋™์„ ์ถ”์ฒœํ•ด์ค๋‹ˆ๋‹ค.
์œ ์‚ฌ๋„ ๊ธฐ๋ฐ˜ ์šด๋™ ์ถ”์ฒœ ์‚ฌ์šฉ์ž๋“ค ๊ฐ„์˜ ์œ ์‚ฌ๋„๋ฅผ ์ธก์ •ํ•˜์—ฌ ๋‚˜์™€ ๋น„์Šทํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ํ•œ ์šด๋™๋“ค์„ ์ถ”์ฒœํ•ด์ค๋‹ˆ๋‹ค.
YouTube API ์˜์ƒ YouTube API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ถ”์ฒœ๋ฐ›์€ ์šด๋™ ์˜์ƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋Šฅ ์ฆ๊ฒจ์ฐพ๊ธฐํ•œ ์šด๋™๋“ค์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์šด๋™ ์ด๋ ฅ ์กฐํšŒ ๋‚˜์˜ ์šด๋™ ์ด๋ ฅ์„ ๋‚ ์งœ๋ณ„๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ˜์‘ํ˜• ์›น ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์œผ๋กœ ๋””๋ฐ”์ด์Šค ์ƒ๊ด€์—†์ด ์พŒ์ ํ•œ ํ™”๋ฉด์œผ๋กœ ์ฆ๊ธฐ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šด๋™ ์ถ”์ฒœ
์šด๋™ ์ถ”์ฒœ
YouTube API ์˜์ƒ
youtube
์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋Šฅ
์ฆ๊ฒจ์ฐพ๊ธฐ
์šด๋™ ์ด๋ ฅ ์กฐํšŒ
์šด๋™์ด๋ ฅ์กฐํšŒ

๐Ÿ“‚ ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ๋„

์•„ํ‚คํ…์ฒ˜(Architecture)
์•„ํ‚คํ…์ฒ˜(Architecture)
๊ฐœ์ฒด-๊ด€๊ณ„ ๋ชจ๋ธ(ERD)
๊ฐœ์ฒด-๊ด€๊ณ„ ๋ชจ๋ธ(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

๐Ÿ“… ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ ๋ฐ ์ผ์ •

22.02.28 ~ 22.04.08 (6์ฃผ)


๐Ÿ’ป ์‹คํ–‰ ๋ฐฉ๋ฒ•

Client ์‹คํ–‰

  1. ์›๊ฒฉ ์ €์žฅ์†Œ ๋ณต์ œ
$ git clone https://lab.ssafy.com/s06-bigdata-rec-sub2/S06P22A104.git
  1. ํ”„๋กœ์ ํŠธ ํด๋”๋กœ ์ด๋™
$ cd frontend
  1. ํ•„์š”ํ•œ node_modules ์„ค์น˜
$ yarn install
  1. ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„ ์‹คํ–‰
$ yarn start

Server ์‹คํ–‰

  1. ์›๊ฒฉ ์ €์žฅ์†Œ ๋ณต์ œ
$ git clone https://lab.ssafy.com/s06-bigdata-rec-sub2/S06P22A104.git
  1. ํ”„๋กœ์ ํŠธ ํด๋”๋กœ ์ด๋™
$ cd backend/spring/src/main/resources/
  1. 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: [ํ† ํฐ ๋น„๋ฐ€ํ‚ค]
  1. ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ
$ ./gradlew build
  1. ๋นŒ๋“œ ํด๋” ์ด๋™ ํ›„ jar ํŒŒ์ผ ์‹คํ–‰
$ cd backend
$ cd spring/build/libs
$ java -jar [ํŒŒ์ผ๋ช…].jar

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published