Skip to content

๐ŸŽ‰ Spring, iamport, AWS, GitHub Actions๋กœ ๊ฐœ๋ฐœํ•œ ์ปค์Šคํ…€ ์ถ•ํ•˜ ์นด๋“œ ์‡ผํ•‘๋ชฐ [์ถ•ํ•˜ํ•ด์š”] ๐ŸŽ‰

Notifications You must be signed in to change notification settings

Jyebin/shinhan_team2_chukahaeyo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์›น ๊ธฐ๋ฐ˜ ์‡ผํ•‘๋ชฐ ๊ตฌํ˜„ ํ”„๋กœ์ ํŠธ - ์ถ•ํ•˜ํ•ด์š”

Web-based Custom Celebration Card Making Shopping Mall

์‹ ํ•œ ๊ธˆ์œตSW ์•„์นด๋ฐ๋ฏธ
2024.05 ~ 2024.06
Spring / JavaScript / HTML, CSS ์‚ฌ์šฉ

์‚ฌ์ง„์„ ํด๋ฆญํ•˜์‹œ๋ฉด ๋ฐฐํฌ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ‘

๋กœ๊ณ 

Team๐Ÿฅ

ํ•˜์†Œ์˜ (Soyeong Ha) ๊น€๋ฏผ์ง€(Minji Kim) ์„œํ˜„์˜ค(Heonoh Seo) ์กฐ์˜ˆ๋นˆ(Yebin Jo) ์ตœ๋ฏผ์„œ(Minseo Choi)
soyeong minji hyeono yebin minseo
@soyoungxxx @wing-beat @ohhyeonn @Jyebin @cmsxi
ํŒ€์žฅ, ๊ธฐํš, ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ ๊ธฐํš, ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ ๊ธฐํš, ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ, ์›น ํผ๋ธ”๋ฆฌ์‹ฑ ๊ธฐํš, ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ ๊ธฐํš, ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ, ๋””์ž์ธ

Project ๋ชฉํ‘œ

  • ์‡ผํ•‘๋ชฐ ์›น ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ์‡ผํ•‘๋ชฐ์„ ์›น ๋ฒ„์ „์œผ๋กœ ๊ฐœ๋ฐœํ•œ๋‹ค.
    • Spring, ๋ฐ”๋‹๋ผ JavaScript๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•œ๋‹ค.
  • ์›น CRUD ๊ตฌํ˜„
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™ํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •๋ณด์™€ ํŒ๋งค ๋‚ด์—ญ, ์ƒ์„ฑ๋œ ์นด๋“œ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.
  • ์ธํ„ฐ๋„ท ๊ฒฐ์ œ ์„œ๋น„์Šค ๊ตฌํ˜„
    • ๊ฒฐ์ œ ๋ฐ ๊ฒฐ์ œ ์ทจ์†Œ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ธฐ๋Šฅ์„ ํ•„์ˆ˜๋กœ ๊ตฌํ˜„ํ•œ๋‹ค.
  • ํŽธ๋ฆฌํ•œ ์นด๋“œ ์ œ์ž‘ ์‹œ์Šคํ…œ ์ œ๊ณต
    • URL ๊ณต์œ  ๊ธฐ๋Šฅ ๋ฐ ๋ชจ๋ฐ”์ผ์— ์ตœ์ ํ™” ๋œ ์ถ•ํ•˜ ์นด๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.
  • admin ํŽ˜์ด์ง€๋กœ ๊ด€๋ฆฌ์ž ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • ๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ์— ์ดˆ์ ์„ ๋งž์ถฐ ๊ฐœ๋ฐœํ•œ๋‹ค.
  • ์‹œ์Šคํ…œ ์ „๋ฐ˜์— ๊ฑธ์ณ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์ ์šฉํ•œ๋‹ค.
  • Git ๋ธŒ๋žœ์น˜ ์ „๋žต์„ ํ™œ์šฉํ•˜์—ฌ ํ˜‘์—…ํ•œ๋‹ค.
  • ๊ธฐ๋Šฅ๋ณ„๋กœ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ๋ชจ๋‘ ๊ตฌํ˜„ํ•œ๋‹ค.
  • Amazon RDS, EC2, S3๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹ค์ œ ๋ฐฐํฌ๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • Github Action์œผ๋กœ CI/CD ๊ตฌ์ถ•
    • ๋ฐฐํฌ ์ž๋™ํ™”๋ฅผ ํ†ตํ•˜์—ฌ ์„œ๋ฒ„ ์šด์šฉ์— ์šฉ์ดํ•˜๋„๋ก ์„ค์ •ํ•œ๋‹ค.


์ฃผ์š” ๊ธฐ๋Šฅ ๐Ÿ“ฆ

  1. ์‚ฌ์šฉ์ž ์ธ์ฆ: Javax.mail library๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž…, ์ด๋ฉ”์ผ ์ธ์ฆ์„ ํ†ตํ•œ ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ธฐ๋Šฅ ๋ฐ ํƒˆํ‡ด, ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  2. ์ธ๊ธฐ์นด๋“œ: ๋ฉ”์ธํŽ˜์ด์ง€์— ์Šฌ๋ผ์ด๋”๋ฅผ ์ ์šฉ์‹œ์ผœ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ธ๊ธฐ์นด๋“œ ๋ฐ˜์˜
  3. ์ตœ์‹ ์นด๋“œ: ๊ฐ€์žฅ ์ตœ๊ทผ์— ์ƒ์„ฑ๋œ ์นด๋“œ๋ฅผ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ 1๊ฐœ์”ฉ ๋ฉ”์ธ ํŽ˜์ด์ง€์— ๋ฐ˜์˜
  4. ์นด๋“œ ์ƒ์„ฑ: ์นด๋“œ ํ…œํ”Œ๋ฆฟ ์„ ํƒ ํ›„ ์ด๋ฆ„/๋‚ ์งœ/์‚ฌ์ง„/๋ฌธ๊ตฌ/์ด๋ชจํ‹ฐ์ฝ˜ ๋“ฑ ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ์„ ์œ ์ €๊ฐ€ ์›ํ•˜๋Š”๋Œ€๋กœ ์ปค์Šคํ…€ํ•ด ์นด๋“œ ์ƒ์„ฑ ๊ฐ€๋Šฅ. JS Confetti ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•œ ๊ณต๊ฐ ๋ฒ„ํŠผ ๊ตฌํ˜„
  5. ์žฅ๋ฐ”๊ตฌ๋‹ˆ: ์—ฌ๋Ÿฌ ์นด๋“œ๋ฅผ ์ƒ์„ฑํ•ด ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด์€ ํ›„ ํ•œ ๋ฒˆ์— ๊ฒฐ์ œํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ
  6. ๋ช…์˜ˆ์˜ ์ „๋‹น: ์‚ฌ์šฉ์ž๊ฐ€ ๊ณต๊ฐœ๋กœ ์„ค์ •ํ•ด๋‘” ์นด๋“œ๋ฅผ ์—ฌ๋Ÿฌ ๊ธฐ์ค€์œผ๋กœ(์ตœ์‹ ์ˆœ/์ธ๊ธฐ์ˆœ ๋“ฑ) ์ •๋ ฌํ•ด ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ
  7. ์ปค๋ฎค๋‹ˆํ‹ฐ: ๊ฒŒ์‹œํŒ์— ๊ธ€๊ณผ ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ
  8. ๊ณ ๊ฐ์„ผํ„ฐ: FAQ์™€ 1:1 ๋ฌธ์˜ ๊ธฐ๋Šฅ
  9. ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€: ๊ด€๋ฆฌ์ž๊ฐ€ ๋Œ€์‹œ๋ณด๋“œ/์ฃผ๋ฌธ๋ชฉ๋ก/ํšŒ์›๋ชฉ๋ก/1:1๋ฌธ์˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ ๊ตฌํ˜„
  10. ๊ฒฐ์ œ : iamport์˜ ํ† ์ŠคํŽ˜์ด๋จผ์ธ  ๊ฒฐ์ œ api๋ฅผ ํ™œ์šฉํ•œ ์นด๋“œ ๋ฐ ๊ฐ์ข… ํŽ˜์ด ๊ฒฐ์ œ ๊ธฐ๋Šฅ
  11. ๋ณด์•ˆ์„ฑ : URL Manipulation ์˜ˆ๋ฐฉ, XSS ๊ณต๊ฒฉ ์˜ˆ๋ฐฉ, SQL Injection ์˜ˆ๋ฐฉ, ๋ชจ๋“  ํŽ˜์ด์ง€์— Error Page ์ ์šฉ


ํ™”๋ฉด ๊ตฌ์„ฑ ๐Ÿ“บ

ํฌ์Šคํ„ฐ
๋กœ๊ณ 
๋ฉ”์ธ ํŽ˜์ด์ง€
๋ฉ”์ธํŽ˜์ด์ง€
์นด๋“œ ์ œ์ž‘ ํŽ˜์ด์ง€
์นด๋“œ์ œ์ž‘ํŽ˜์ด์ง€
์™„์„ฑ ์นด๋“œ ํŽ˜์ด์ง€ 1 ์™„์„ฑ ์นด๋“œ ํŽ˜์ด์ง€ 2
์™„์„ฑ์นด๋“œ1 ์™„์„ฑ์นด๋“œ2
๋ช…์˜ˆ์˜ ์ „๋‹น
๋ช…์˜ˆ์˜์ „๋‹น
์ปค๋ฎค๋‹ˆํ‹ฐ
์ปค๋ฎค๋‹ˆํ‹ฐ
๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€
๊ด€๋ฆฌ์ž


Stacks ๐Ÿ› ๏ธ

  • ํ”„๋ก ํŠธ์—”๋“œ: HTML, CSS, JavaScript
  • ๋ฐฑ์—”๋“œ: Java, JSP, Spring, EL, JSTL
  • AJAX: ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ํŽ˜์นญ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: MySQL, Amazon RDS
  • ์„œ๋ฒ„:ย Apache Tomcat, Amazon EC2
  • ์ €์žฅ์†Œ: Amazon S3


Database: ERD

image



System Process

์‚ฌ์šฉ์ž
์‚ฌ์šฉ์ž-์‹œ์Šคํ…œํ”„๋กœ์„ธ์Šค
๊ด€๋ฆฌ์ž ๋ฐฉ๋ฌธ๊ฐ
๊ด€๋ฆฌ์ž-์‹œ์Šคํ…œํ”„๋กœ์„ธ์Šค ๋ฐฉ๋ฌธ๊ฐ-์‹œ์Šคํ…œํ”„๋กœ์„ธ์Šค


์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ

์‚ฌ์ง„์„ ํด๋ฆญํ•˜์‹œ๋ฉด ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ ๋ฌธ์„œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ›ต

์š”๊ตฌ์‚ฌํ•ญ๋ช…์„ธ์„œ



์œ ์Šค์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ

์œ ์Šค์ผ€์ด์Šค

About

๐ŸŽ‰ Spring, iamport, AWS, GitHub Actions๋กœ ๊ฐœ๋ฐœํ•œ ์ปค์Šคํ…€ ์ถ•ํ•˜ ์นด๋“œ ์‡ผํ•‘๋ชฐ [์ถ•ํ•˜ํ•ด์š”] ๐ŸŽ‰

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published