View on GitHub

capstone-2024-32

EZOrder (์Œ์‹์  QR ์ฃผ๋ฌธ ์„œ๋น„์Šค)

๐Ÿฑ EZOrder

2024 ์บก์Šคํ†ค๋””์ž์ธ 32์กฐ


๋ชฉ์ฐจ


๐Ÿ“ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

์Œ์‹์  QR ์ฃผ๋ฌธ ์›น ์„œ๋น„์Šค

์†๋‹˜์€ QR ์ฝ”๋“œ๋ฅผ ์ฐ๊ธฐ๋งŒ ํ•ด๋„ ์›น์œผ๋กœ ์‰ฝ๊ฒŒ ์ฃผ๋ฌธ์„ ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ€๊ฒŒ ์‚ฌ์žฅ๋‹˜์€ ์ฃผ๋ฌธ ๋‚ด์—ญ์„ ์‰ฝ๊ฒŒ ๋ณด๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๋น„์Šทํ•œ ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์ง„ ์„œ๋น„์Šค๊ฐ€ ์ด๋ฏธ ํ˜„์—…์— ์กด์žฌํ•˜์ง€๋งŒ, EZOrder๋Š” ์•ฑ์„ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๋กœ๊ทธ์ธ์„ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ถˆํŽธํ•œ ๊ณผ์ •์ด ์กด์žฌํ•˜์ง€ ์•Š์•„ ์†๋‹˜ ์ž…์žฅ์—์„œ ํŽธํ•˜๊ฒŒ ์ฃผ๋ฌธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๊ฐ€๊ฒŒ ์ž…์žฅ์—์„œ๋Š” ํ‚ค์˜ค์Šคํฌ๋‚˜ ํ…Œ์ด๋ธ” ๋ณ„ ํƒœ๋ธ”๋ฆฟ ์„ค์น˜์™€ ๊ฐ™์€ ์ถ”๊ฐ€์ ์ธ ์„ค๋น„๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ”๏ธ ์ฃผ์š” ๊ธฐ๋Šฅ

QR ์Šค์บ”์„ ํ†ตํ•œ ํŽธํ•œ ์ฃผ๋ฌธ

ํ…Œ์ด๋ธ”๋งˆ๋‹ค ๋ถ€์ฐฉ๋˜์–ด ์žˆ๋Š” QR ์ฝ”๋“œ ์Šค์บ”์„ ํ†ตํ•ด, ๊ทธ ์ž๋ฆฌ์—์„œ ํŽธํ•˜๊ฒŒ ์ฃผ๋ฌธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ์ฃผ๋ฌธ์ž๋งŒ ์ ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ฆ๋œ ๋ฆฌ๋ทฐ

์ฃผ๋ฌธํ•œ ์‚ฌ๋žŒ๋งŒ ๋ฆฌ๋ทฐ๋ฅผ ์ ์„ ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์ด๊ธฐ์— ์‹ ๋ขฐ๋„ ์žˆ๋Š” ๋ฆฌ๋ทฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธํ•œ ๋ฉ”๋‰ด ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

๊ฐ€๊ฒŒ ์šด์˜์ž๋Š” ํŽธํ•˜๊ฒŒ ๋ฉ”๋‰ดํŒ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฐ€๊ฒŒ ํ˜„ํ™ฉ

๊ฐ€๊ฒŒ ์šด์˜์ž ์ž…์žฅ์—์„œ ์ฃผ๋ฌธ ๋Œ€๊ธฐ์—ด, ํ…Œ์ด๋ธ” ๋ณ„ ์ฃผ๋ฌธ ํ˜„ํ™ฉ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด ํƒ„๋ ฅ์ ์ธ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.





๐Ÿ‘ท ํŒ€์› ์†Œ๊ฐœ

์ด๋ฆ„ : ๋ฐ•๋ฏผ์„œ

ํ•™๋ฒˆ : xxxx1610

์ด๋ฉ”์ผ : minseo1224@kookmin.ac.kr

์—ญํ•  : Leader, Back-end, Front-end

์ด๋ฆ„ : ๋ฌธ์›๊ธฐ

ํ•™๋ฒˆ : xxxx1608

์ด๋ฉ”์ผ : wkm99@kookmin.ac.kr

์—ญํ•  : Back-end, Front-end



๐Ÿš€ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

์‹œ๋‚˜๋ฆฌ์˜ค


์‹œ์Šคํ…œ ๊ตฌ์กฐ๋„



โœ… ๊ธฐ๋Œ€ ํšจ๊ณผ

์ดˆ๊ธฐ ์„ค๋น„ ๋น„์šฉ์„ ๋น„์•ฝ์ ์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด์˜ ์ฃผ๋ฌธ ๋ฐฉ์‹์€ ํ‚ค์˜ค์Šคํฌ๋‚˜ ํ…Œ์ด๋ธ”๋งˆ๋‹ค ๋ฐฐ์น˜๋œ ํ…Œ๋ธ”๋ฆฟ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, ์ด๋Š” ์ฃผ๋กœ ์ธ๊ฑด๋น„๋ฅผ ์ ˆ๊ฐํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ์œผ๋กœ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ ์„ค์น˜์™€ ์šด์šฉ์— ๋”ฐ๋ฅธ ๋น„์šฉ ๋ถ€๋‹ด๋„ ํฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

EZOrder๋ฅผ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๋น„์šฉ์„ ํ˜์‹ ์ ์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ์ƒํ•˜๊ณ  ์‹ ๋ขฐ๋„ ๋†’์€ ๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €ํฌ์˜ ๋ฆฌ๋ทฐ ์‹œ์Šคํ…œ์€ QR ์ธ์ฆ๊ณผ ์ฟ ํ‚ค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋”์šฑ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ๋ทฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์Œ์‹์„ ์ง์ ‘ ์ฃผ๋ฌธํ•œ ์†๋‹˜๋“ค์— ์˜ํ•ด ์ž‘์„ฑ๋œ ๋ฆฌ๋ทฐ๋งŒ์„ ์ˆ˜์šฉํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์†๋‹˜๋“ค์€ ์ƒ์ƒํ•˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”๋ถˆ์–ด, ๋ฆฌ๋ทฐ ์ž‘์„ฑ์€ ์Œ์‹์„ ์ฃผ๋ฌธํ•œ ํ›„ 2์‹œ๊ฐ„ ์ด๋‚ด์— ์ด๋ฃจ์–ด์ ธ์•ผ ํ•˜๋ฏ€๋กœ, ์Œ์‹์„ ๋จน์€์ง€ ์–ผ๋งˆ ์•ˆ ๋œ ์†๋‹˜๋“ค์˜ ์˜๊ฒฌ๋งŒ์ด ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฒด๊ณ„๋Š” ๊ฐ€๊ฒŒ ์ž…์žฅ์—์„œ๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด, ๋น ๋ฅธ ์กฐ์น˜์™€ ์„œ๋น„์Šค ๊ฐœ์„ ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค.



๊ฐ€๊ฒŒ ์ฃผ์ธ์€ ๋งค์žฅ์˜ ์ „๋ฐ˜์ ์ธ ๊ด€๋ฆฌ๋ฅผ ์†์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งค์žฅ ๋‚ด ํ…Œ์ด๋ธ” ํ˜„ํ™ฉ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํŒŒ์•…ํ•˜๊ณ , ์ฃผ๋ฌธ ๋Œ€๊ธฐ์—ด์„ ์ฆ‰๊ฐ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ์ฃผ๋ฌธ์˜ ํ…Œ์ด๋ธ” ์ถœ์ฒ˜์™€ ์ฒ˜๋ฆฌ ์ƒํƒœ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฉ”๋‰ดํŒ์„ ์†์‰ฝ๊ฒŒ ์ถ”๊ฐ€, ์‚ญ์ œ, ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”๋ถˆ์–ด, ๊ฐ€๊ฒŒ ์‚ฌ์ •์— ๋”ฐ๋ผ ๋ฉ”๋‰ด๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๊ฒฝ์šฐ์—๋„ ์ฆ‰๊ฐ์ ์œผ๋กœ ๋ฉ”๋‰ดํŒ์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœจ ๊ธฐ์ˆ  ์Šคํƒ



๐Ÿ”ง ์‚ฌ์šฉ๋ฒ•

1. application.yaml์— DB ์„ค์ •์„ ๋งˆ์นœ๋‹ค. (spring.datasource ๋ถ€๋ถ„)
2. MySQL์—์„œ yaml์— ์ ์€ DB ์„ค์ •์„ ํ† ๋Œ€๋กœ schema๋ฅผ ๋งŒ๋“ ๋‹ค.
3. ๋งŒ์•ฝ ๋กœ์ปฌ์ด ์•„๋‹Œ ec2์—์„œ ๊ฐ€๋™ํ•œ๋‹ค๋ฉด ํ•ด๋‹น ์„œ๋ฒ„์˜ ๊ธฐ๋ณธ ์ฃผ์†Œ๋ฅผ qrcode.url์— ์ ๋Š”๋‹ค. ๋กœ์ปฌ์ด๋ผ๋ฉด ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค.
4. ๊ทธ ํ›„์— ์ฝ”๋“œ๋ฅผ ๊ฐ€๋™ํ•˜๋ฉด ์ž‘๋™ํ•œ๋‹ค.



application.yaml ์˜ˆ์‹œ

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/web-order-db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul #์ด๊ณณ์— DB์˜ url์„ ์ ์œผ๋ฉด ๋œ๋‹ค.
    username: root #DB ์„ค์ •์ƒ username์„ ์ž‘์„ฑํ•  ๊ฒƒ.
    password: #DB ์„ค์ •์ƒ password๋ฅผ ์ž‘์„ฑํ•  ๊ฒƒ
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    show-sql : true
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        format_sql: false
  web:
    resources:
      static-locations: file:media/,classpath:/static
  mvc:
    hiddenmethod:
      filter:
        enabled: true
jwt:
  secret: xIjvWyzFNiIL16uC7Z4vtoY6nkCKk+wjN/ruzg8lkX6t09fC+qHWMRG+4RtoYakCOQWq1bmyYH34oab36pf8Tw==

qrcode:
  url: localhost:8080 #์„œ๋ฒ„๊ฐ€ qr์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ์ฃผ์†Œ๋ฅผ ์ž‘์„ฑํ•  ๊ฒƒ



๐Ÿ—ƒ๏ธ ๊ด€๋ จ ์ž๋ฃŒ


์ค‘๊ฐ„๋ณด๊ณ ์„œ


์ค‘๊ฐ„๋ฐœํ‘œ์ž๋ฃŒ