Skip to content

pladata-encore/BE08-final-3team-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์†Œ๋ณต Sobok : ์‹์žฌ๋ฃŒ ํ๋ ˆ์ด์…˜ ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค



๋กœ๊ณ ์ด๋ฏธ์ง€




๐Ÿ’ป ๊ฐœ๋ฐœ ์ฃผ์†Œ


๋กœ์ปฌ ์ฃผ์†Œ : http://localhost:5173

๋ฐฐํฌ ์ฃผ์†Œ : https://sobok.shop


๐Ÿฅ˜ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”


๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ์š”๋ฆฌ๋ฅผ ํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์žฅ๋ณด๊ธฐ์˜ ๋ฒˆ๊ฑฐ๋กœ์›€, ์‹์žฌ๋ฃŒ ๋‚ญ๋น„, ์˜์–‘ ๋ถˆ๊ท ํ˜• ๋“ฑ์œผ๋กœ ์ธํ•ด ์š”๋ฆฌ๋ฅผ ์‹ค์ฒœํ•˜์ง€ ๋ชปํ•˜๋Š” 1์ธ ๊ฐ€๊ตฌ๋ฅผ ์œ„ํ•œ ์‹์žฌ๋ฃŒ ํ๋ ˆ์ด์…˜ ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.


โ„น๏ธ ํ”„๋กœ์ ํŠธ ์ •๋ณด


ํ”Œ๋ ˆ์ด๋ฐ์ดํ„ฐ 8๊ธฐ 3์กฐ Final Project : Sobok(์†Œ๋ณต) ๋ฐฐ๋‹ฌ ์‹œ์Šคํ…œ

๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ : 2025. 6. 21 ~ 2025. 8. 13


๐Ÿ™‹โ€โ™‚๏ธ ํŒ€์†Œ๊ฐœ



๊ฐ•ํ•˜๋Š˜
(Devy17)
๊น€ํ˜„์ง€
(vbnmopas)
ํ•œ์ข…๊ท 
(HanJongKyun)
๊น€์ˆ˜์˜
(SUEYOUNG14)
์œ ์Šนํ˜„
(youthdonut)
ํ”„๋กœํ•„์ด๋ฏธ์ง€ ํ”„๋กœํ•„์ด๋ฏธ์ง€ ํ”„๋กœํ•„์ด๋ฏธ์ง€ ํ”„๋กœํ•„์ด๋ฏธ์ง€ ํ”„๋กœํ•„์ด๋ฏธ์ง€
https://github.com/Devy17 https://github.com/vbnmopas https://github.com/HanJongKyun https://github.com/SUEYOUNG14 https://github.com/youthdonut
Infra Backend Backend Frontend Frontend


๐Ÿฅฎ ์š”๊ตฌ์‚ฌํ•ญ


  • Node.js 22.14.0
  • Npm 11.3.0
  • React 19.1.0
  • Redux 9.2.0
  • Vite 6.3.5

๐Ÿฉ Installation & execute



$ git clone https://github.com/playdata-8th-full-stack-baedal-service/sobok-fe.git 

$ cd sobok-fe

$ npm install

$ npm run dev


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


  • ์‚ฌ์šฉ์ž ํŽ˜์ด์ง€: ์‹์žฌ๋ฃŒ ๊ฒ€์ƒ‰, ์ฃผ๋ฌธ ๊ธฐ๋Šฅ, ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ๋ฐ ์กฐํšŒ

  • ๊ฐ€๊ฒŒ ํŽ˜์ด์ง€ : ์ฃผ๋ฌธ ์ ‘์ˆ˜, ์žฌ๊ณ  ๊ด€๋ฆฌ

  • ๋ผ์ด๋” ํŽ˜์ด์ง€ : ๋ฐฐ๋‹ฌ ํ˜„ํ™ฉ ์กฐํšŒ

  • ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€: ์‹์žฌ๋ฃŒ ๋ฐ ์š”๋ฆฌ ๋“ฑ๋ก, ์ „์ฒด ์„œ๋น„์Šค ๊ด€๋ฆฌ


๐Ÿฑ ํ™”๋ฉด ๊ตฌ์„ฑ ์˜ˆ์‹œ



์‚ฌ์šฉ์ž ๋ฉ”์ธํŽ˜์ด์ง€ ๋ผ์ด๋” ๋ฉ”์ธํŽ˜์ด์ง€
์‚ฌ์šฉ์ž ๋ฉ”์ธํŽ˜์ด์ง€ ๋ผ์ด๋” ๋ฉ”์ธํŽ˜์ด์ง€
๊ฐ€๊ฒŒ ๋ฉ”์ธํŽ˜์ด์ง€ ๊ด€๋ฆฌ์ž ๋ฉ”์ธํŽ˜์ด์ง€
๊ฐ€๊ฒŒ ๋ฉ”์ธํŽ˜์ด์ง€ ๊ด€๋ฆฌ์ž ๋ฉ”์ธํŽ˜์ด์ง€


๐Ÿก ๊ธฐ์ˆ  ์Šคํƒ


Environment



Development





Communication




๐Ÿค ๋ฐฐํฌ


GitHub Actions๋ฅผ ํ†ตํ•ด CI/CD๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿฃ ์ฃผ์š” ์ž‘์—…

1. ์ฝ”๋“œ ์ฒดํฌ์•„์›ƒ

GitHub ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

2. Node.js ํ™˜๊ฒฝ ์„ค์ •

Node.js 22๋ฒ„์ „์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

3. ์˜์กด์„ฑ ์„ค์น˜

npm install ๋ช…๋ น์–ด๋กœ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜

4. ๋นŒ๋“œ

npm run build๋กœ React ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. CI=false๋ฅผ ์ง€์ •ํ•˜์—ฌ ๊ฒฝ๊ณ ๋ฅผ ์˜ค๋ฅ˜๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋„๋ก ์„ค์ •

5. S3 ์—…๋กœ๋“œ

๋นŒ๋“œ๋œ ์ •์  ํŒŒ์ผ(dist ํด๋”)์„ S3์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. --deleteํ”Œ๋ž˜๊ทธ๋ฅผ ํ†ตํ•ด S3์—์„œ ์ œ๊ฑฐ๋œ ํŒŒ์ผ๋„ ๋ฐ˜์˜

6. CloudFront ์บ์‹œ ๋ฌดํšจํ™”

๋ฐฐํฌ ํ›„ CloudFront ์บ์‹œ๋ฅผ ๋ฌดํšจํ™”ํ•˜์—ฌ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์ด ์ฆ‰์‹œ ๋ฐ˜์˜๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ• ์‚ฌ์šฉ๋˜๋Š” GitHub Secrets

  1. AWS_ACCESS_KEY_ID : AWS ์•ก์„ธ์Šค ํ‚ค

  2. AWS_SECRET_ACCESS_KEY : AWS ์‹œํฌ๋ฆฟ ํ‚ค

  3. AWS_REGION : AWS ๋ฆฌ์ „

  4. S3_BUCKET : ๋ฐฐํฌ ๋Œ€์ƒ S3 ๋ฒ„ํ‚ท ์ด๋ฆ„

  5. CF_DISTRIBUTION_ID : CloudFront ๋ฐฐํฌ ID


๐Ÿฅ ์ฐธ๊ณ  ์‚ฌํ•ญ

CloudFront๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, S3์— ์ƒˆ ํŒŒ์ผ์ด ์—…๋กœ๋“œ๋˜์–ด๋„ CloudFront์˜ ์บ์‹œ ๋•Œ๋ฌธ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐ”๋กœ ๋ฐ˜์˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ‡’ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด GitHub Actions์—์„œ CloudFront ์บ์‹œ ๋ฌดํšจํ™”(Invaldation)๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.


๋นŒ๋“œ๋œ ์ •์  ํŒŒ์ผ์€ dist/ ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒ์„ฑ๋˜๋ฉฐ, ํ•ด๋‹น ํด๋”์˜ ํŒŒ์ผ๋“ค์ด S3 ๋ฒ„ํ‚ท์— ์—…๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.


์บ์‹œ ๋ฌดํšจํ™” ๊ฒฝ๋กœ๋Š” "/*"๋กœ ์ง€์ •๋˜์–ด ์žˆ์–ด, ์ „์ฒด ํŒŒ์ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ํ•„์š” ์‹œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๋ฌดํšจํ™” ๋ฒ”์œ„๋ฅผ ํŠน์ • ๊ฒฝ๋กœ๋กœ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ™ ์•„ํ‚คํ…์ณ

๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

๐Ÿ“ฆsobok-fe
 โ”ฃ ๐Ÿ“‚.github 
 โ”ƒ โ”ฃ ๐Ÿ“‚ISSUE_TEMPLATE : Issue ๊ด€๋ฆฌ ํ…œํ”Œ๋ฆฟ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“œfeature.yml
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“œfix.yml
 โ”ƒ โ”ƒ โ”— ๐Ÿ“œrefactor.yml
 โ”ƒ โ”ฃ ๐Ÿ“‚workflows
 โ”ƒ โ”ƒ โ”— ๐Ÿ“œmain.yml
 โ”ƒ โ”— ๐Ÿ“œpull_request_template.md
 โ”ฃ ๐Ÿ“‚src
 โ”ƒ โ”ฃ ๐Ÿ“‚assets
 โ”ƒ โ”ฃ ๐Ÿ“‚common : ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ ์ €์žฅ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚base : ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ƒ‰, ์—ฌ๋Ÿฌ ์Šคํƒ€์ผ, ํ•จ์ˆ˜, ๋ฏน์Šค์ธ, ํฐํŠธ ์Šคํƒ€์ผ ์ €์žฅ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚components : ๊ณตํ†ต ๋ฒ„ํŠผ, input ๋“ฑ์˜ ๊ณตํ†ต ์š”์†Œ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚forms : formํ˜•์‹์— ๋“ค์–ด๊ฐ€๋Š” ๊ณตํ†ต ์š”์†Œ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚hooks : ์œ ํ˜•๋ณ„ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๊ด€๋ จ ํŒŒ์ผ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚modals : ๋ชจ๋‹ฌ ๊ด€๋ฆฌ ํŒŒ์ผ 
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚styles : ํฐํŠธ ๋“ฑ์˜ ์ „์—ญ์ ์œผ๋กœ ์ ์šฉ๋˜๋Š” ์Šคํƒ€์ผ ํŒŒ์ผ
 โ”ƒ โ”ƒ โ”— ๐Ÿ“‚utils : ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ์— ์‚ฌ์šฉํ•˜๋Š” ๋กœ์ง ํŒŒ์ผ
 โ”ƒ โ”ฃ ๐Ÿ“‚layout : ๊ณตํ†ต ํ—ค๋” ๋ฐ ํ‘ธํ„ฐ ๊ด€๋ฆฌ 
 โ”ƒ โ”ฃ ๐Ÿ“‚pages 
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚admin : ๊ด€๋ฆฌ์ž ๊ด€๋ จ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚auth : auth ๊ด€๋ จ ํŽ˜์ด์ง€  ์ปดํฌ๋„ŒํŠธ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚hub : ๊ฐ€๊ฒŒ ๊ด€๋ จ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ
 โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚rider : ๋ผ์ด๋” ๊ด€๋ จ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ
 โ”ƒ โ”ƒ โ”— ๐Ÿ“‚user : ์‚ฌ์šฉ์ž ๊ด€๋ จ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ
 โ”ƒ โ”ฃ ๐Ÿ“‚queries
 โ”ƒ โ”ฃ ๐Ÿ“‚router : ๋ผ์šฐ๋” ์„ค์ • ํŒŒ์ผ
 โ”ƒ โ”ฃ ๐Ÿ“‚services : API ์š”์ฒญ ๋ฐ ์ธ์ฆ ์ฒ˜๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” axios ์ธ์Šคํ„ด์Šค์™€ ๋ฐฑ์—”๋“œ ํ˜ธ์ŠคํŠธ ์„ค์ •์„ ํฌํ•จํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํŒŒ์ผ
 โ”ƒ โ”ฃ ๐Ÿ“‚store : ์•ฑ ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ์™€ ๊ด€๋ จ๋œ Redux store ๋ฐ slice ๋ชจ๋“ˆ์ด ์œ„์น˜ํ•œ ํŒŒ์ผ
 โ”ƒ โ”ฃ ๐Ÿ“œ.env : ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋“ค์„ ์ €์žฅํ•˜๋Š” ํ™˜๊ฒฝ ์„ค์ • ํŒŒ์ผ
 โ”ƒ โ”ฃ ๐Ÿ“œApp.jsx
 โ”ƒ โ”ฃ ๐Ÿ“œindex.css
 โ”ƒ โ”ฃ ๐Ÿ“œmain.jsx
 โ”ƒ โ”— ๐Ÿ“œreset.css : ๋ธŒ๋ผ์šฐ์ € ๊ฐ„ ๊ธฐ๋ณธ ์Šคํƒ€์ผ ์ฐจ์ด๋ฅผ ์—†์• ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” CSS ์ดˆ๊ธฐํ™” ํŒŒ์ผ
 โ”ฃ ๐Ÿ“œ.gitignore
 โ”ฃ ๐Ÿ“œLICENSE : ํ”„๋กœ์ ํŠธ์˜ ์‚ฌ์šฉ, ์ˆ˜์ •, ๋ฐฐํฌ์— ๋Œ€ํ•œ ๊ถŒํ•œ๊ณผ ์กฐ๊ฑด์„ ๋ช…์‹œํ•œ ๋ผ์ด์„ ์Šค ํŒŒ์ผ
 โ”ฃ ๐Ÿ“œREADME.md
 โ”ฃ ๐Ÿ“œindex.html
 โ”ฃ ๐Ÿ“œpackage-lock.json
 โ”ฃ ๐Ÿ“œpackage.json
 โ”— ๐Ÿ“œvite.config.js

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages