GithubHelp home page GithubHelp logo

mini_pharmacy's Introduction

๐Ÿ’Š ์•ฝ๊พน๋ฃจํŠธ(BE)

image

์•ฝ๊ตญ์„ ๊พน ๋ˆŒ๋Ÿฌ์„œ ์•ฝ๊ตญ ์œ„์น˜๋ฅผ ์ฐพ์•„์ฃผ๋Š” ์„œ๋น„์Šค!

์•ฝ๊พน ๋ฃจํŠธ๋Š” ํ˜„์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ทผ์ฒ˜ ์•ฝ๊ตญ์˜ ์ •๋ณด์™€ ์˜์—…์—ฌ๋ถ€๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.


๐Ÿ”— ๊ด€๋ จ ๋งํฌ

1) ํŒ€์›

ํฌ์ง€์…˜ ์ด๋ฆ„ ์ด๋ฉ”์ผ ๊นƒํ—™ ์ฃผ์†Œ
Frontend, VL ๊ฐ•์Šนํ›ˆ [email protected] https://github.com/seunghoonKang
Backend ๋ฐ•๋Œ€ํ˜„ [email protected] https://github.com/qkreo
Frontend ๋ฐ•ํ•˜์€ [email protected] https://github.com/parkharoi
Backend, L ๋ฐฑ์ง€์˜ [email protected] https://github.com/chamchimayo
Backend ์žฅ๋ฏผ์˜ [email protected] https://github.com/minyoung117

2) ์ง„ํ–‰ ๊ธฐ๊ฐ„: 2022๋…„ 10์›” 21์ผ ~ 10์›” 27์ผ

  • 10์›” 21์ผ(ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์ผ)
    • ๊ฐœ๋ฐœ ๊ธฐํš
    • S,A ์ œ์ถœ(API ๋ช…์„ธ์„œ, ์™€์ด์–ด ํ”„๋ ˆ์ž„, DB Schema ์ž‘์„ฑ)
    • Github Repository ์ƒ์„ฑ
  • 10์›” 22์ผ
    • ํ”„๋ก ํŠธ(๋กœ์ปฌ)-๋ฐฑ ์—ฐ๊ฒฐ - ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ
    • [FE] : ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ํ˜•ํƒœ ๊ตฌํ˜„, json ์„œ๋ฒ„ ์—ฐ๊ฒฐ
    • [BE] : users(ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ), reviews ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์™„๋ฃŒ , ๊ณต๊ณต API ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์™„๋ฃŒ
  • 10์›” 23์ผ(์ผ์š”์ผ)
    • ์ฆ๊ฑฐ์šด ํœด์‹ !
  • 10์›” 24์ผ
    • ํ”„๋ก ํŠธ(์„œ๋ฒ„)-๋ฐฑ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ
    • [FE] : ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ์™„์„ฑ
    • [BE] : users(ํšŒ์› ์ •๋ณด ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œ(ํƒˆํ‡ด)) ๊ธฐ๋Šฅ ๊ตฌํ˜„, ssl ์ธ์ฆ ๋ฐœ๊ธ‰ ์™„๋ฃŒ
  • 10์›” 25์ผ
    • [FE] : ์•ฝ๊ตญ ์ „์ฒด ๋ชฉ๋ก ํŽ˜์ด์ง€ ์™„์„ฑ
    • [BE] : users(๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™”), likes(์•ฝ๊ตญ ์ข‹์•„์š” ๊ด€๋ จ) ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์™„๋ฃŒ
  • 10์›” 26์ผ
    • [FE] : ์•ฝ๊ตญ ์ƒ์„ธ ํŽ˜์ด์ง€ ์™„์„ฑ
    • [BE] : reviews(๋ฆฌ๋ทฐ ์กฐํšŒ) ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • 10์›” 27์ผ(ํ”„๋กœ์ ํŠธ ๋งˆ๊ฐ์ผ)
    • [FE] : ํšŒ์› CRUD ์™„์„ฑ
    • [BE] : users(ํšŒ์› ์ •๋ณด ์ˆ˜์ •, ์‚ญ์ œ(ํƒˆํ‡ด)) ์˜ค๋ฅ˜ ์ˆ˜์ •
    • README ์ž‘์„ฑ, ์˜์ƒ ์ดฌ์˜
    • ๋ฐœํ‘œ

3) ์‚ฌ์šฉ ๊ธฐ์ˆ 

  • FE:
  • ์„œ๋ฒ„: javascript, express
  • API ๋ช…์„ธ: swagger
  • DB: mysql, sequelize
  • ๋ฐฐํฌ: AWS EC2

4) ํ™”๋ฉด ๊ตฌ์„ฑ


5) ERD

image


6) ์ฃผ์š” ๊ธฐ๋Šฅ ์š”์•ฝ

(1) ํšŒ์› ๊ฐ€์ž…

  • ์•„์ด๋””, ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ •ํ•ด์ง„ ์กฐ๊ฑด์— ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋ฅผ response์— ํฌํ•จ์‹œํ‚จ๋‹ค.(Joi ์‚ฌ์šฉ)
  • ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์•”ํ˜ธํ™” ๋˜์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋ผ์•ผ ํ•œ๋‹ค.(bcrypt ์‚ฌ์šฉ)
  • ํšŒ์›์— ๋™์ผํ•œ ์•„์ด๋””๊ฐ€ ์žˆ์„ ์‹œ "์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์•„์ด๋””์ž…๋‹ˆ๋‹ค."๋ผ๋Š” ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋ฅผ response์— ํฌํ•จ์‹œํ‚จ๋‹ค.

(2) ๋กœ๊ทธ์ธ

  • ๋ฐ›์€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์žˆ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๋น„๊ตํ•œ๋‹ค.
  • ๋กœ๊ทธ์ธ์‹œ jwt(json web token) ๋ฐœ๊ธ‰ํ•ด์ค€๋‹ค.

(3) ๋กœ๊ทธ์ธ ๊ฒ€์‚ฌ

  • ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•œ API๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ํ† ํฐ์„ ์ „๋‹ฌํ•œ ๊ฒฝ์šฐ๋งŒ ์ •์ƒ response๋ฅผ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
  • ๋กœ๊ทธ์ธ ํ† ํฐ์„ ์ „๋‹ฌํ•˜์ง€ ์•Š์€ ์ฑ„๋กœ ๋กœ๊ทธ์ธ API๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฝ์šฐ "๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค."๋ผ๋Š” ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋ฅผ response์— ํฌํ•จ์‹œํ‚จ๋‹ค.
  • ๋กœ๊ทธ์ธ ํ† ํฐ์„ ์ „๋‹ฌํ•œ ์ฑ„๋กœ ๋กœ๊ทธ์ธ API ๋˜๋Š” ํšŒ์›๊ฐ€์ž… API๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฝ์šฐ "์ด๋ฏธ ๋กœ๊ทธ์ธ์ด ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค"๋ผ๋Š” ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋ฅผ response์— ํฌํ•จ์‹œํ‚จ๋‹ค.

(4) ํšŒ์› ์ •๋ณด ์กฐํšŒ

  • ๋กœ๊ทธ์ธํ•œ ํšŒ์›์€ ์ž์‹ ์˜ ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ˆ˜์ •ํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํƒˆํ‡ดํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ํšŒ์› ํƒˆํ‡ด๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

(4) ๋ฉ”์ธ(์•ฝ๊ตญ ๋ชฉ๋ก)

  • ์‚ฌ์šฉ์ž ์œ„์น˜ ํ™•์ธ ๋™์˜๋ฅผ ๋ฐ›๋Š”๋‹ค.
  • ์‚ฌ์šฉ์ž ์œ„์น˜ ํ™•์ธ ๋™์˜๋ฅผ ๋ฐ›๊ธฐ ์ „์—๋Š” ๊ณต๊ณต API์—์„œ ์„ ํƒํ•œ ์ž„์˜์˜ ์•ฝ๊ตญ ๋ชฉ๋ก๋“ค์„ ๋ณด์—ฌ์ค€๋‹ค.
  • ์‚ฌ์šฉ์ž ์œ„์น˜ ํ™•์ธ ๋™์˜๋ฅผ ๋ฐ›์€ ํ›„์—๋Š” ์‚ฌ์šฉ์ž ์œ„์น˜ ๊ทผ์ฒ˜์˜ ์•ฝ๊ตญ ๋ชฉ๋ก๋“ค์„ ๋ณด์—ฌ์ค€๋‹ค.
  • ์•ฝ๊ตญ ์ด๋ฆ„์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์•ฝ๊ตญ์˜ ์ƒ์„ธํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค.

(5) ์•ฝ๊ตญ ์ƒ์„ธ ํŽ˜์ด์ง€

  • ํ•ด๋‹น ์•ฝ๊ตญ์˜ ์œ„์น˜๋ฅผ ๋„ค์ด๋ฒ„ ๋งต API๋กœ ๋ณด์—ฌ์ค€๋‹ค.
  • ํ•ด๋‹น ์•ฝ๊ตญ์˜ ์ •๋ณด์™€ ์˜ค๋Š˜ ์˜์—… ์‹œ๊ฐ„์„ ๋ณด์—ฌ์ค€๋‹ค.
  • ์ „์ฒด ์‹œ๊ฐ„ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ชจ๋“  ์š”์ผ์˜ ์˜์—… ์‹œ๊ฐ„์„ ๋ณด์—ฌ์ค€๋‹ค.

(6) ์•ฝ๊ตญ๋ฆฌ๋ทฐ

  • ์‚ฌ์šฉ์ž๋Š” ์•ฝ๊ตญ ์ƒ์„ธํŽ˜์ด์ง€์—์„œ ํ•ด๋‹น ์•ฝ๊ตญ์˜ ๋ฆฌ๋ทฐ๋ฅผ ๋‹ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฆฌ๋ทฐ๋Š” ๋กœ๊ทธ์ธํ•œ ์œ ์ €๋งŒ ๋‹ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฆฌ๋ทฐ ์ˆ˜์ •, ์‚ญ์ œ๋Š” ํ•ด๋‹น ๋ฆฌ๋ทฐ์˜ ์ž‘์„ฑ์ž๋งŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

(7) ์•ฝ๊ตญ ์ข‹์•„์š”

  • ์‚ฌ์šฉ์ž๋Š” ์ข‹์•„์š”์™€ ์ข‹์•„์š” ์ทจ์†Œ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • APIํ˜ธ์ถœ์‹œ ์•ฝ๊ตญ(Pharmacy) ํ…Œ์ด๋ธ”์˜ "์•ฝ๊ตญ ์ข‹์•„์š” ์ˆ˜(likes)"์— ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜์˜์‹œํ‚จ๋‹ค. (์ข‹์•„์š” - 1์ฆ๊ฐ€, ์ข‹์•„์š” ์ทจ์†Œ - 1๊ฐ์†Œ)
  • ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์ด ์ข‹์•„์š”ํ•œ ์•ฝ๊ตญ๋“ค์„ ์ตœ๊ทผ ์ข‹์•„์š”๋ฅผ ํ•œ ์ˆœ์œผ๋กœ ๋ชจ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค.

mini_pharmacy's People

Contributors

chamchimayo avatar minyoung117 avatar qkreo avatar

Stargazers

HaeRhee avatar ์กฐ๋ฏผ์ˆ˜ avatar

Watchers

 avatar

Forkers

qkreo

mini_pharmacy's Issues

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.