Web-based Custom Celebration Card Making Shopping Mall
์ ํ ๊ธ์ตSW ์์นด๋ฐ๋ฏธ
2024.05 ~ 2024.06
Spring / JavaScript / HTML, CSS ์ฌ์ฉ
ํ์์ (Soyeong Ha) | ๊น๋ฏผ์ง(Minji Kim) | ์ํ์ค(Heonoh Seo) | ์กฐ์๋น(Yebin Jo) | ์ต๋ฏผ์(Minseo Choi) |
---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
@soyoungxxx | @wing-beat | @ohhyeonn | @Jyebin | @cmsxi |
ํ์ฅ, ๊ธฐํ, ํ๋ก ํธ์๋, ๋ฐฑ์๋ | ๊ธฐํ, ํ๋ก ํธ์๋, ๋ฐฑ์๋ | ๊ธฐํ, ํ๋ก ํธ์๋, ๋ฐฑ์๋, ์น ํผ๋ธ๋ฆฌ์ฑ | ๊ธฐํ, ํ๋ก ํธ์๋, ๋ฐฑ์๋ | ๊ธฐํ, ํ๋ก ํธ์๋, ๋ฐฑ์๋, ๋์์ธ |
- ์ผํ๋ชฐ ์น ํ์ด์ง ๊ตฌํ
- ์ผํ๋ชฐ์ ์น ๋ฒ์ ์ผ๋ก ๊ฐ๋ฐํ๋ค.
- Spring, ๋ฐ๋๋ผ JavaScript๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๋ฐํ๋ค.
- ์น CRUD ๊ตฌํ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๋ํ์ฌ ์ฌ์ฉ์ ์ ๋ณด์ ํ๋งค ๋ด์ญ, ์์ฑ๋ ์นด๋๋ฅผ ๊ด๋ฆฌํ๋ค.
- ์ธํฐ๋ท ๊ฒฐ์ ์๋น์ค ๊ตฌํ
- ๊ฒฐ์ ๋ฐ ๊ฒฐ์ ์ทจ์, ์ฅ๋ฐ๊ตฌ๋ ๊ธฐ๋ฅ์ ํ์๋ก ๊ตฌํํ๋ค.
- ํธ๋ฆฌํ ์นด๋ ์ ์ ์์คํ
์ ๊ณต
- URL ๊ณต์ ๊ธฐ๋ฅ ๋ฐ ๋ชจ๋ฐ์ผ์ ์ต์ ํ ๋ ์ถํ ์นด๋๋ฅผ ๊ตฌํํ๋ค.
- admin ํ์ด์ง๋ก ๊ด๋ฆฌ์ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ค.
- ๋ณด์ ๋ฐ ๊ฐ์ธ์ ๋ณด ๋ณดํธ์ ์ด์ ์ ๋ง์ถฐ ๊ฐ๋ฐํ๋ค.
- ์์คํ ์ ๋ฐ์ ๊ฑธ์ณ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ ์ฉํ๋ค.
- Git ๋ธ๋์น ์ ๋ต์ ํ์ฉํ์ฌ ํ์ ํ๋ค.
- ๊ธฐ๋ฅ๋ณ๋ก ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ฅผ ๋ชจ๋ ๊ตฌํํ๋ค.
- Amazon RDS, EC2, S3๋ฅผ ํ์ฉํ์ฌ ์ค์ ๋ฐฐํฌ๋ฅผ ํตํด ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค.
- Github Action์ผ๋ก CI/CD ๊ตฌ์ถ
- ๋ฐฐํฌ ์๋ํ๋ฅผ ํตํ์ฌ ์๋ฒ ์ด์ฉ์ ์ฉ์ดํ๋๋ก ์ค์ ํ๋ค.
- ์ฌ์ฉ์ ์ธ์ฆ: Javax.mail library๋ฅผ ํ์ฉํ์ฌ ๋ก๊ทธ์ธ ๋ฐ ํ์๊ฐ์ , ์ด๋ฉ์ผ ์ธ์ฆ์ ํตํ ์ฌ์ฉ์ ์ธ์ฆ ๊ธฐ๋ฅ ๋ฐ ํํด, ๋ก๊ทธ์์ ๊ธฐ๋ฅ ๊ตฌํ
- ์ธ๊ธฐ์นด๋: ๋ฉ์ธํ์ด์ง์ ์ฌ๋ผ์ด๋๋ฅผ ์ ์ฉ์์ผ ์ค์๊ฐ์ผ๋ก ์ธ๊ธฐ์นด๋ ๋ฐ์
- ์ต์ ์นด๋: ๊ฐ์ฅ ์ต๊ทผ์ ์์ฑ๋ ์นด๋๋ฅผ ์นดํ ๊ณ ๋ฆฌ๋ณ๋ก 1๊ฐ์ฉ ๋ฉ์ธ ํ์ด์ง์ ๋ฐ์
- ์นด๋ ์์ฑ: ์นด๋ ํ ํ๋ฆฟ ์ ํ ํ ์ด๋ฆ/๋ ์ง/์ฌ์ง/๋ฌธ๊ตฌ/์ด๋ชจํฐ์ฝ ๋ฑ ์ฌ๋ฌ ํญ๋ชฉ์ ์ ์ ๊ฐ ์ํ๋๋๋ก ์ปค์คํ ํด ์นด๋ ์์ฑ ๊ฐ๋ฅ. JS Confetti ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํ ๊ณต๊ฐ ๋ฒํผ ๊ตฌํ
- ์ฅ๋ฐ๊ตฌ๋: ์ฌ๋ฌ ์นด๋๋ฅผ ์์ฑํด ์ฅ๋ฐ๊ตฌ๋์ ๋ด์ ํ ํ ๋ฒ์ ๊ฒฐ์ ํ ์ ์๋ ๊ธฐ๋ฅ
- ๋ช ์์ ์ ๋น: ์ฌ์ฉ์๊ฐ ๊ณต๊ฐ๋ก ์ค์ ํด๋ ์นด๋๋ฅผ ์ฌ๋ฌ ๊ธฐ์ค์ผ๋ก(์ต์ ์/์ธ๊ธฐ์ ๋ฑ) ์ ๋ ฌํด ์กฐํํ ์ ์๋ ๊ธฐ๋ฅ
- ์ปค๋ฎค๋ํฐ: ๊ฒ์ํ์ ๊ธ๊ณผ ๋๊ธ์ ์์ฑํ ์ ์๋ ๊ธฐ๋ฅ
- ๊ณ ๊ฐ์ผํฐ: FAQ์ 1:1 ๋ฌธ์ ๊ธฐ๋ฅ
- ๊ด๋ฆฌ์ ํ์ด์ง: ๊ด๋ฆฌ์๊ฐ ๋์๋ณด๋/์ฃผ๋ฌธ๋ชฉ๋ก/ํ์๋ชฉ๋ก/1:1๋ฌธ์๋ฅผ ํ์ธํ ์ ์๋ ํ์ด์ง ๊ตฌํ
- ๊ฒฐ์ : iamport์ ํ ์คํ์ด๋จผ์ธ ๊ฒฐ์ api๋ฅผ ํ์ฉํ ์นด๋ ๋ฐ ๊ฐ์ข ํ์ด ๊ฒฐ์ ๊ธฐ๋ฅ
- ๋ณด์์ฑ : URL Manipulation ์๋ฐฉ, XSS ๊ณต๊ฒฉ ์๋ฐฉ, SQL Injection ์๋ฐฉ, ๋ชจ๋ ํ์ด์ง์ Error Page ์ ์ฉ
ํฌ์คํฐ |
---|
![]() |
๋ฉ์ธ ํ์ด์ง |
---|
![]() |
์นด๋ ์ ์ ํ์ด์ง |
---|
![]() |
์์ฑ ์นด๋ ํ์ด์ง 1 | ์์ฑ ์นด๋ ํ์ด์ง 2 |
---|---|
![]() |
![]() |
๋ช ์์ ์ ๋น |
---|
![]() |
์ปค๋ฎค๋ํฐ |
---|
![]() |
๊ด๋ฆฌ์ ํ์ด์ง |
---|
![]() |
- ํ๋ก ํธ์๋: HTML, CSS, JavaScript
- ๋ฐฑ์๋: Java, JSP, Spring, EL, JSTL
- AJAX: ๋น๋๊ธฐ ๋ฐ์ดํฐ ํ์นญ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: MySQL, Amazon RDS
- ์๋ฒ:ย Apache Tomcat, Amazon EC2
- ์ ์ฅ์: Amazon S3
์ฌ์ฉ์ |
---|
![]() |
๊ด๋ฆฌ์ | ๋ฐฉ๋ฌธ๊ฐ |
---|---|
![]() |
![]() |
์ฌ์ง์ ํด๋ฆญํ์๋ฉด ์๊ตฌ์ฌํญ ๋ช ์ธ์ ๋ฌธ์๋ก ์ด๋ํฉ๋๋ค ๐ต
![์ ์ค์ผ์ด์ค](https://private-user-images.githubusercontent.com/100336643/365647965-1a14ad8d-9df6-4d11-a78b-4b2eca6caab1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxODEyNDAsIm5iZiI6MTczOTE4MDk0MCwicGF0aCI6Ii8xMDAzMzY2NDMvMzY1NjQ3OTY1LTFhMTRhZDhkLTlkZjYtNGQxMS1hNzhiLTRiMmVjYTZjYWFiMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQwOTQ5MDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zOTgzNTVjMTdlY2RiMjdiYWMwMmQ3ZTRjZjZlZWU4ZWNmMTY5OWU1MDNiNjMxYTg4ODljM2YwODRlODE2OGY0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.vw_Si6W4iWM6cHoLnLO9sg0OJuTKK-Vlbaq5xu8EpzU)