Giter Site home page Giter Site logo

geun9716 / react-node-getstarted Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 44.43 MB

react.js and node.js started code include routes

License: Apache License 2.0

HTML 2.55% JavaScript 67.45% CSS 9.81% EJS 0.45% Starlark 2.83% Java 9.18% Ruby 1.07% Objective-C 6.66%

react-node-getstarted's Introduction

๐Ÿ’ป Coding Convention

๐Ÿ—‚ ํด๋”๊ตฌ์กฐ

๐Ÿ—‚ node_modules
   
๐Ÿ—‚ src

    - api ๐Ÿ—‚

    - config ๐Ÿ—‚

    - Loaders ๐Ÿ—‚
    
    - middleware ๐Ÿ—‚

    - models ๐Ÿ—‚

    - service ๐Ÿ—‚
   
    - controller ๐Ÿ—‚
   

indes.ts
   
.env
   
nodemon.json
   
package.json
   
tsconfig.json

๐Ÿ–‹ ๋„ค์ด๋ฐ

Class & Contructor

  • Class, Contructors๋Š” **Pascal Case (=UpperCamelCase)**๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ์ข‹์€ ์˜ˆ

    CamelCase

    ๋‚˜์œ ์˜ˆ

    camelCase

**ํ•จ์ˆ˜ & ๋ณ€์ˆ˜ & ์ƒ์ˆ˜**
  • ํ•จ์ˆ˜์™€ ๋ณ€์ˆ˜์—๋Š” lowerCamelCase๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ ๋™์‚ฌ+๋ช…์‚ฌํ˜•ํƒœ๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    • ex) getUserInformation()
  • ๊ธ€์ž์˜ ๊ธธ์ด

    • ๊ธ€์ž์˜ ๊ธธ์ด๋Š” 20์ž ์ด๋‚ด๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
    • 4๋‹จ์–ด ์ด์ƒ์ด ๋“ค์–ด๊ฐ€๊ฑฐ๋‚˜, ๋ถ€๋“์ดํ•˜๊ฒŒ 20์ž ์ด์ƒ์ด ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ํŒ€์›๊ณผ์˜ ์ƒ์˜๋ฅผ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • flag๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜

    • Boolean์˜ ๊ฒฝ์šฐ ์กฐ๋™์‚ฌ+flag ์ข…๋ฅ˜๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • ex) isNum, hasNum
  • ์•ฝ์นญ์˜ ์‚ฌ์šฉ

    • ์•ฝ์–ด๋Š” ๋˜๋„๋ก ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    ์ข‹์€ ์˜ˆ

    let index;
    let count;
    let array;
    let seoulToBucheon;

    ๋‚˜์œ ์˜ˆ

    let idx;
    let cnt;
    let arr;
    let seoul2Bucheon;

๐Ÿท ์ฃผ์„

  • ํ•œ์ค„์€ //๋กœ ์ ๊ณ , ๊ทธ ์ด์ƒ์€ /** */๋กœ ์ ์Šต๋‹ˆ๋‹ค.
// ํ•œ์ค„ ์ฃผ์„์ผ ๋•Œ
/**
 * ์—ฌ๋Ÿฌ์ค„
 * ์ฃผ์„์ผ ๋•Œ
 */
  • ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ฃผ์„
    • backend์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ, ๋ชจ๋“ˆํ™”๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

    • ํ•˜๋‚˜์˜ ํŒŒ์ผ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์ฃผ์„์œผ๋กœ ์ƒ์„ธ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

      • ํ•จ์ˆ˜์˜ ์ „์ฒด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช…
      • ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•œ ์„ค๋ช… (type: ..., ์—ญํ• )
      • router ๋˜๋Š” api์ผ ๋•Œ์—๋Š” ์„ฑ๊ณต ์—ฌ๋ถ€๋„ ์ ์–ด์ค๋‹ˆ๋‹ค.
      • ์˜ˆ์‹œ ์ฝ”๋“œ
      /**
       *  @route Post api/auth
       *  @desc Authenticate user & get token(๋กœ๊ทธ์ธ)
       *  @access Public
       */
      router.get(
       
      );

๐Ÿ“Ž ๊ธฐํƒ€

  • ํƒญ ์‚ฌ์ด์ฆˆ๋Š” 2๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ํ•œ ์ค„์˜ ์ตœ๋Œ€ ๊ธธ์ด๋Š” 80์ž๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

  • ์ตœ๋Œ€ tab depth ์ œํ•œ

    • tab์˜ ์ตœ๋Œ€ depth๋Š” 4๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
    • ์ด ์ด์ƒ์œผ๋กœ depth๊ฐ€ ๊ธธ์–ด์ง€๋ฉด ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ทธ ์ด์ƒ์œผ๋กœ ๊ฐœ์„ ํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ๊ฒฝ์šฐ, ํŒ€์›๋“ค๊ณผ์˜ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.
       function func() {
         //tab1
         if() {
           //tab2
           array.reduce((pre, cur) => {
             //tab3
             if(cur == status) {
               //tab4
             }
           }
         }
       }
  • ๊ด„ํ˜ธ ์‚ฌ์šฉ

    • (if, while, for)๋ฌธ ๊ด„ํ˜ธ ๋’ค์— ํ•œ์นธ์„ ๋„์šฐ๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
       if (left == true) {
         // logic
       }
  • ๋„์–ด์“ฐ๊ธฐ

    let a = 5;  ( = ์–‘์ชฝ ์‚ฌ์ด๋กœ ๋„์–ด์“ฐ๊ธฐ ํ•˜๊ธฐ)
    if (a == 3) {
        // logic
    }

๐Ÿ‘‰๐Ÿป Coding Convention ํ•œ ๋ˆˆ์— ๋ณด๊ธฐ
๐Ÿ‘‰๐Ÿป ๋‹ค์Œ Style Guide๋ฅผ ์ฐธ๊ณ ํ—€์Šต๋‹ˆ๋‹ค.


โœ‰๏ธ Commit Messge Rules

๐Ÿš™ Charo-Server Git Commit Message Rules ๐Ÿš™

  • ๋ฐ˜์˜์‚ฌํ•ญ์„ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์€ ๊ธฐ๋Šฅ ํ•˜๋‚˜๋ผ๋„ ๊ตฌํ˜„๋˜๋ฉด ์ปค๋ฐ‹์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ์™„๋ฒฝํ•˜์ง€ ์•Š์„ ๋•, ๊ฐ์ž ๋ธŒ๋žœ์น˜์— ์ปค๋ฐ‹์„ ํ•ด์ฃผ์„ธ์š”.

๐Ÿ“œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๋ช…๋ น์–ด ๋ชจ์Œ

- feat    : ๊ธฐ๋Šฅ (์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ)
- fix     : ๋ฒ„๊ทธ (๋ฒ„๊ทธ ์ˆ˜์ •)
- refactor: ๋ฆฌํŒฉํ† ๋ง
- style   : ์Šคํƒ€์ผ (์ฝ”๋“œ ํ˜•์‹, ์„ธ๋ฏธ์ฝœ๋ก  ์ถ”๊ฐ€: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
- docs    : ๋ฌธ์„œ (๋ฌธ์„œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ)
- test    : ํ…Œ์ŠคํŠธ (ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
- chore   : ๊ธฐํƒ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ (๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • ๋“ฑ)

โ„น๏ธ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ํ˜•์‹

  • [์ปค๋ฐ‹๋ฉ”์„ธ์ง€] ์„ค๋ช… ํ˜•์‹์œผ๋กœ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ข‹์€ ์˜ˆ >

  [Feat] ๋ฉ”์ธ๋ทฐ ์กฐํšŒ API ๊ตฌํ˜„ ์™„๋ฃŒ

๋‚˜์œ ์˜ˆ >

  ๋ฉ”์ธ๋ทฐ API ๊ตฌํ˜„ ์„ฑ๊ณต

Github mangement

๐Ÿš™ Charo-Server Gitflow ๐Ÿš™

  • main ๋ธŒ๋žœ์น˜
  • develop ๋ธŒ๋žœ์น˜
    • feat ๋ธŒ๋žœ์น˜
default๋Š” main๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค.

ํ•˜์œ„์— develop๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์‹œ โ†’ feat/๋ฒˆํ˜ธ ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ํŒŒ์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

* ๋‹จ feat์€ ์ž์„ธํ•œ ๊ธฐ๋Šฅ ํ•œ ๊ฐ€์ง€๋ฅผ ๋‹ด๋‹นํ•˜๋ฉฐ, ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๋ฉด develop๋ธŒ๋žœ์น˜๋กœ Pull Request๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. 
* ๋‹ค๋ฅธ ํŒ€์›์ด pr์„ ํ™•์ธํ•˜๊ณ , ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ์ง„ํ–‰ํ•œ ๋’ค ๋ฌธ์ œ๊ฐ€ ์—†์œผ๋ฉด develop ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ์„ ํ•ฉ๋‹ˆ๋‹ค.

- Main
- develop
   โ””โ”€โ”€ feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ

๊ฐ์ž ์ž์‹ ์ด ๋งก์€ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์„ฑ๊ณต์‹œ! ๋ธŒ๋žœ์น˜ ๋‹ค ์“ฐ๊ณ  ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋ธŒ๋žœ์น˜ ๋งŒ๋“ฆ
git branch ๊ธฐ๋Šฅ(or ์ด๋ฆ„ ๋ธŒ๋žœ์น˜)
  • ์›๊ฒฉ ์ €์žฅ์†Œ์— ๋กœ์ปฌ ๋ธŒ๋žœ์น˜ push
git push --set-upstream origin ๋ธŒ๋žœ์น˜์ด๋ฆ„(feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ ๋ธŒ๋žœ์น˜)
git push -u origin ๋ธŒ๋žœ์น˜์ด๋ฆ„(feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ ๋ธŒ๋žœ์น˜)
  • ๋ธŒ๋žœ์น˜ ์ „ํ™˜
git checkout feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ ๋ธŒ๋žœ์น˜
  • ์ฝ”๋“œ ๋ณ€๊ฒฝ (ํ˜„์žฌ feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ ๋ธŒ๋žœ์น˜)
git add .
git commit -m "์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€" origin feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ ๋ธŒ๋žœ์น˜
  • ํ‘ธ์‹œ (ํ˜„์žฌ feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ ๋ธŒ๋žœ์น˜)
git push origin feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ ๋ธŒ๋žœ์น˜
  • ๋ทฐ์ด๋ฆ„ ๋ธŒ๋žœ์น˜์—์„œ ํ•  ์ผ ๋‹ค ํ–ˆ์œผ๋ฉด develop ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜
git checkout develop
  • ๋จธ์ง€ (ํ˜„์žฌ develop ๋ธŒ๋žœ์น˜)
git merge feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ ๋ธŒ๋žœ์น˜
  • ๋‹ค ์“ด ๋ธŒ๋žœ์น˜ ์‚ญ์ œ (local) (ํ˜„์žฌ develop ๋ธŒ๋žœ์น˜)
git branch -d feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ ๋ธŒ๋žœ์น˜
  • ๋‹ค ์“ด ๋ธŒ๋žœ์น˜ ์‚ญ์ œ (remote) (ํ˜„์žฌ develop ๋ธŒ๋žœ์น˜)
git push origin :feat/๊ธฐ๋Šฅ๋ฒˆํ˜ธ ๋ธŒ๋žœ์น˜
  • main pull (ํ˜„์žฌ develop ๋ธŒ๋žœ์น˜)
git pull or git pull origin develop
  • main push (ํ˜„์žฌ develop ๋ธŒ๋žœ์น˜)
git push or git push origin develop

react-node-getstarted's People

Contributors

geun9716 avatar

Watchers

 avatar  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.