Skip to content

Latest commit

Β 

History

History
182 lines (121 loc) Β· 4.37 KB

README.md

File metadata and controls

182 lines (121 loc) Β· 4.37 KB

2021-songjas-backend

2021 Korea Hacks 고카톀

timmo_title


🀩 TIMMO Notion


πŸ€— TIMMO Design


πŸ˜‚ REST API DOCS


😊 Project

ν”„λ‘œ νŒ€ν”ŒλŸ¬λ“€μ˜ μŠ€ν† λ¦¬λΈŒ 리그, νŒ€λͺ¨μž…λ‹ˆλ‹€.

νŒ€λͺ¨λŠ” μ–ΈνƒνŠΈ μ‹œλŒ€μ˜ λŒ€ν•™μƒλ“€μ„ μœ„ν•œ νŒ€ λΉŒλ”© + νŒ€ ν˜‘μ—… μ„œλΉ„μŠ€λ‘œ, νŒ€μœΌλ‘œ μ§„ν–‰ν•˜λŠ” ν™œλ™μ—μ„œ
νŒ€μ›μ„ μ°ΎκΈ° μ–΄λ €μ›Œ κ³ λ―Όν•˜λŠ” λŒ€ν•™μƒλ“€μ„ μœ„ν•΄ λ§Œλ“€μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.
νŒ€λͺ¨μ˜ νŒ€μ› λͺ¨μ§‘/μ°ΎκΈ°λ₯Ό 톡해 λ‚˜μ™€ λ”± λ§žλŠ” νŒ€μ›μ„ μ°Ύμ•„λ³΄μ„Έμš”! 그리고 ν˜‘μ—…μ„ μ‹œμž‘ν•˜μ„Έμš”!


πŸ€” Function

  • νŒ€λͺ¨ (νŒ€μ› λͺ¨μ§‘)
  • νŒ€κΈ€ (νŒ€μ› μ°ΎκΈ°)
  • λ§ˆμ΄νŽ˜μ΄μ§€

😱 Code Convention

  • λ³€μˆ˜μ™€ ν•¨μˆ˜λͺ…은 camelCase

  • μƒμˆ˜λŠ” UPPER_CASE

  • var μ‚¬μš© μ§€μ–‘ν•˜κ³ , let μ΄λ‚˜ const μ‚¬μš©

  • ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ λ³€μˆ˜λ§Œ μ„ μ–Έ

  • 파일λͺ…은 lower-case

  • λ“€μ—¬μ“°κΈ°λŠ” 에디터 μžλ™ μ™„μ„±μœΌλ‘œ

  • λ¬Έμž₯의 λμ—λŠ” ; μž…λ ₯.

  • ν•œ μ€„μ—λŠ” ν•˜λ‚˜μ˜ ꡬ문만.

  • Arrow Function μ‚¬μš© 지ν–₯

  • ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄ μ‚¬μš©

  • μž‘μ€ λ”°μ˜΄ν‘œ μ‚¬μš©

  • try, catchλŠ” μžλ™ μ™„μ„±μœΌλ‘œ

  • 속성 단좕 ꡬ문

  • 등가식은 === !== 을 μ‚¬μš©

  • git branch

    main
    |
    |--sy
    |
    |---yg
    
  • git commit message (Visual Studio Code Commitizen Support ν™œμš©)

commit msg

ex) feat(users): [POST] signin 

=> κΈ°λŠ₯(μƒμœ„ λΌμš°ν„°): [λ©”μ†Œλ“œ] μ„ΈλΆ€ λ‚΄μš©

😀 Dependency Module

μ‚¬μš© νŒ¨ν‚€μ§€ λͺ¨λ“ˆμ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • nodemailer - νšŒμ›κ°€μž…μ‹œ 이메일 인증을 μœ„ν•œ 이메일 전솑
  • ejs - 이메일 전솑 포맷
  • bcrypt - λΉ„λ°€λ²ˆν˜Έ μ•”ν˜Έν™” 및 λ³΅ν˜Έν™”
  • jsonwebtoken - JWT 생성 및 인증
  • aws-sdk, multer, multer-s3 - NCP Storage Object에 이미지 μ—…λ‘œλ“œ
  • sequelize - ORM(Object-relational Mapping)
{
  "name": "timmo",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "pm2 ./bin/www",
    "stop": "pm2 ./bin/www"
  },
  "dependencies": {
    "aws-sdk": "^2.824.0",
    "bcrypt": "^5.0.0",
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "ejs": "^3.1.5",
    "express": "~4.16.1",
    "http-errors": "~1.6.3",
    "jade": "~1.11.0",
    "jsonwebtoken": "^8.5.1",
    "morgan": "~1.9.1",
    "multer": "^1.4.2",
    "multer-s3": "^2.9.0",
    "mysql2": "^2.2.5",
    "nodemailer": "^6.4.17",
    "path": "^0.12.7",
    "sequelize": "^6.3.5"
  }
}

😲 Architectuer

μ‹œμŠ€ν…œ ꡬ쑰도


😬 ERD Diagram

DB 섀계


πŸ₯± Develop Framework & Environment

  • Node.js
  • Express.js
  • NPM
  • PM2
  • MySQL
  • MySQL Workbench
  • VS Code
  • Naver Cloude Platform Server - mysql(5.7)-centos-7.2-64
  • Naver Cloude Platform Storage Object

😎 Team Role

πŸ’™λ°•μœ€κ²½
  • Database 섀계 DB 섀계 및 κ΅¬ν˜„
  • Nodemailerλ₯Ό μ΄μš©ν•΄ 이메일 인증 κ΅¬ν˜„
  • Bcryptλ₯Ό μ‚¬μš©ν•œ λΉ„λ°€λ²ˆν˜Έ μ•”ν˜Έν™” 및 λ³΅ν˜Έν™” κ΅¬ν˜„
  • Sequelize둜 λͺ¨λΈ 생성 및 ERD μž‘μ„±
  • REST API 섀계 및 κ΅¬ν˜„ REST API λ¬Έμ„œ
πŸ’›μ‘°μˆ˜μ—°
  • Database 섀계 DB 섀계 및 κ΅¬ν˜„
  • Node.js + Expesee.js + MySQL 개발 ν™˜κ²½ ꡬ성 (κΈ°λ³Έ λͺ¨λ“ˆ ꡬ성 및 ꡬ쑰 섀계)
  • Multer와 Naver Cloude Platform의 Object Storage둜 이미지 μ—…λ‘œλ“œ κ΅¬ν˜„
  • REST API 섀계 및 κ΅¬ν˜„ REST API λ¬Έμ„œ