Git Product home page Git Product logo

study-watson's Introduction

Welcome to study-watson ๐Ÿ‘‹

๐Ÿ  Homepage

๐Ÿ’ป API

๐Ÿ“บDemoVideo

MashUp React Project

ํšจ์œจ์ ์œผ๋กœ ์Šคํ„ฐ๋””๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ์›น ์„œ๋น„์Šค

  • ์›น ํ”„๋ก ํŠธ์—”๋“œ( React / Redux / Redux-saga / NEXT )
  • ํ—ค๋กœ์ฟ ๋ฅผ ์ด์šฉํ•œ dev ์„œ๋ฒ„ ์„ธํŒ…
  • ๊ตฌ๊ธ€ Analytics ์—ฐ๊ฒฐ
  • PWA ์ ์šฉ
  • ์•ˆ๋“œ๋กœ์ด๋“œ ์›น๋ทฐ๋ฅผ ํ†ตํ•œ ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฐฐํฌ

์ฃผ์š” ๊ธฐ๋Šฅ

  • ๋กœ๊ทธ์ธ ํšŒ์›๊ฐ€์ž…
  • ์Šคํ„ฐ๋”” ๊ด€๋ฆฌ
  • ํ•ด์‹œ๋ฅผ ์ด์šฉํ•œ ์Šคํ„ฐ๋”” ์ •๋ณด ์ œ๊ณต ๋ฐ ๊ฐ€์ž…
  • ์ผ์ • ๊ด€๋ฆฌ
  • ์ฐธ์—ฌ ์—ฌ๋ถ€ ํˆฌํ‘œ
  • ์Šคํ„ฐ๋”” ๊ณต์ง€
  • ์ถœ์„ ๊ด€๋ฆฌ
  • ๋ฉค๋ฒ„ ๊ด€๋ฆฌ
  • ๊ถŒํ•œ ๊ด€๋ฆฌ
  • ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์Šคํ„ฐ๋””, ์ด์ „ ์Šคํ„ฐ๋””, ์ดํ›„ ์Šคํ„ฐ๋”” ๊ตฌ๋ถ„
  • ๊ถŒํ•œ์— ๋”ฐ๋ฅธ ๋‹ค๋ฅธ ๋ฉ”๋‰ด ๋ณด์—ฌ์ฃผ๊ธฐ

ํด๋” ๊ตฌ์กฐ

  • common : ๊ณตํ†ต ํ•จ์ˆ˜
  • component : ์žฌ์‚ฌ์šฉ ์ปดํฌ๋„ŒํŠธ
  • config : ์„ค์ • ํŒŒ์ผ
  • file : ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ํŒŒ์ผ
  • pages : ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ
  • reducers : ๋ฆฌ๋“€์„œ
  • sagas : ๋ฆฌ๋•์Šค ์‚ฌ๊ฐ€ ํ•จ์ˆ˜, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง
  • static : ์ •์  ํŒŒ์ผ

Quick Start

  • node : v8.15.0

  • npm : 6.9.0

  • ์˜์กด์„ฑ ์„ค์น˜

git clone https://github.com/mash-up-kr/study-watson.git
cd study-watson
npm install
  • ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹œ์ž‘
  npm run dev
  • ๋ฐฐํฌ ์„œ๋ฒ„ ์‹œ์ž‘
  npm run build
  npm run start
  • PM2 ์‹œ์ž‘
  npm run build
  npm run depoly

TEST

  • ์ถ”๊ฐ€ ํ•„์š”

์จ๋“œํŒŒํ‹ฐ ํŒจํ‚ค์ง€

๋ชจ๋“ˆ ์—ญํ•  ์‚ฌ์šฉํ•œ ๋ถ€๋ถ„
axios HTTP ํด๋ผ์ด์–ธํŠธ API ํ†ต์‹ 
compression-webpack-plugin ๋ฒˆ๋“ค๋ง ํŒŒ์ผ์„ Content-Encoding์œผ๋กœ ์••์ถ• -
cross-env ํ”Œ๋žซํผ์— ์ƒ๊ด€์—†์ด ๋‹จ์ผ ๋ช…๋ น ์‚ฌ์šฉ -
dotenv ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋กœ๋“œ -
eslint-config-prettier ๋ถˆํ•„์š”ํ•˜๊ฑฐ๋‚˜ Prettier์™€ ์ถฉ๋Œ ํ•  ์ˆ˜์žˆ๋Š” ๋ชจ๋“  ๊ทœ์น™์„ ๋” -
express Node.js ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ -
morgan node.js ์šฉ HTTP ์š”์ฒญ ๋กœ๊ฑฐ ๋ฏธ๋“ค์›จ์–ด -
next ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง ์ง€์› -
next-redux-saga Next.js๋ฅผ ์œ„ํ•œ redux-saga HOC -
next-redux-wrapper Next.js ์šฉ Redux ๋ž˜ํผ -
next-routes Next.js์˜ ๋™์  ๊ฒฝ๋กœ ์ง€์› -
prop-types React props ๋ฐ ์œ ์‚ฌํ•œ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋Ÿฐํƒ€์ž„ ์œ ํ˜• ํ™•์ธ -
react React๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ์œ„ํ•œ JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ -
react-dom React์˜ DOM ๋ฐ ์„œ๋ฒ„ ๋ Œ๋”๋Ÿฌ์— ๋Œ€ํ•œ ์ง„์ž… ์  ์—ญํ•  -
react-helmet HEAD์— HTML ํƒœ๊ทธ ์ˆ˜์ • -
react-redux Redux์˜ ๊ณต์‹ React ๋ฐ”์ธ๋”ฉ -
redux Redux๋Š” JavaScript ์•ฑ์„์œ„ํ•œ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ์ปจํ…Œ์ด๋„ˆ -
redux-saga ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ถ€์ž‘์šฉ(๋ฐ์ดํ„ฐ ํŽ˜์น˜์™€ ๊ฐ™์€ ๋น„๋™๊ธฐ์‹ ๋ฐ ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ ์•ก์„ธ์Šค์™€ ๊ฐ™์€ ๋ถˆ์พŒํ•œ ๊ฒƒ)์„๋ณด๋‹ค ์‰ฝ๊ฒŒ โ€‹โ€‹๊ด€๋ฆฌํ•˜๊ณ ,๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ , ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์‰ฝ๊ณ , ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐœ์„  ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง ๊ตฌํ˜„
styled-components ๊ตฌ์„ฑ ์š”์†Œ ์—ฐ๋ น์— ๋Œ€ํ•œ ์‹œ๊ฐ์  ๊ธฐ๋ณธ ์š”์†Œ. ES6 ๋ฐ CSS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ŠคํŠธ๋ ˆ์Šค์—†์ด ์•ฑ์˜ ์Šคํƒ€์ผ์„ ์ง€์ • -
webpack ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ๋ฐ ์นœ๊ตฌ๋ฅผ ์œ„ํ•œ๋ฒˆ๋“ค๋Ÿฌ -

devDependencies

๋ชจ๋“ˆ ์—ญํ•  ์‚ฌ์šฉํ•œ ๋ถ€๋ถ„
@babel/plugin-proposal-decorators ํด๋ž˜์Šค ๋ฐ ๊ฐ์ฒด ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋ฅผ ES5๋กœ ์ปดํŒŒ์ผ -
babel-eslint ๐Ÿ—ผESLint์— ์‚ฌ์šฉ๋˜๋Š” Babel ํŒŒ์„œ์˜ ๋ž˜ํผ -
babel-plugin-styled-components ๋””๋ฒ„๊น… ํ™˜๊ฒฝ์„ ๊ฐœ์„ ํ•˜๊ณ  ์Šคํƒ€์ผ์ด ์ง€์ •๋œ ๊ตฌ์„ฑ ์š”์†Œ์— ์„œ๋ฒ„ ์ธก ๋ Œ๋”๋ง ์ง€์› ์ถ”๊ฐ€ -
eslint JavaScript์—์„œ ํŒจํ„ด์„ ์‹๋ณ„ํ•˜๊ณ ๋ณด๊ณ ํ•˜๊ธฐ์œ„ํ•œ ์™„๋ฒฝํ•œ ํ”Œ๋Ÿฌ๊ทธ ๊ฐ€๋Šฅ ๋„๊ตฌ -
eslint-config-airbnb Airbnb์˜ .eslintrc๋ฅผ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ณต์œ  ๊ตฌ์„ฑ์œผ๋กœ ์ œ๊ณต -
eslint-plugin-import ์˜ฌ๋ฐ”๋ฅธ ๊ฐ€์ ธ ์˜ค๊ธฐ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜๋Š” ๊ทœ์น™์ด ํฌํ•จ ๋œ ESLint ํ”Œ๋Ÿฌ๊ทธ์ธ -
eslint-plugin-jsx-a11y JSX ์š”์†Œ์˜ ๊ทœ์น™์— ๋Œ€ํ•œ ์ •์  AST ๊ฒ€์‚ฌ๊ธฐ -
eslint-plugin-react ESLint์— ๋Œ€ํ•œ ํŠน์ • React ๊ทœ์น™์— ๋Œ€์‘ -
eslint-plugin-react-hooks ELint์—์„œ ํ›„ํฌ ๊ทœ์น™์„ ์‹œํ–‰ -
nodemon ode.js ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์„œ๋ฒ„๋ฅผ ์ž๋™์œผ๋กœ ๋‹ค์‹œ ์‹œ์ž‘ -

Author

๐Ÿ‘ค Yuni-Q

๐Ÿ‘ค Jusung Kim

๐Ÿ‘ค snaag

๐Ÿ‘ค LeeHanYeong

๐Ÿค Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Show your support

Give a โญ๏ธ if this project helped you!


This README was generated with โค๏ธ by readme-md-generator

study-watson's People

Contributors

jus0k avatar leesoo7595 avatar snaag avatar yuni-q avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.