Skip to content

About

๐Ÿฅฌ๊ฐ€๊นŒ์šด ๋งค์žฅ์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒ๋Ÿฌ๋“œ ๋žœ๋คํŒฉ์„ ์ฃผ๋ฌธํ•˜๊ณ  ํ”ฝ์—…ํ•˜์„ธ์š”! ๐Ÿฅฌ

Resources

Stars

0 stars

Watchers

0 watching

Forks

ย 
ย 

Latest commit

ย 

History

1,061 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์ €๋ ดํ•œ๋ผ

์ €๋ ดํ•œ๋ผ

๊ฐ€๊นŒ์šด ๋งค์žฅ์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ
์ƒ๋Ÿฌ๋“œ ๋žœ๋คํŒฉ์„ ์ฃผ๋ฌธํ•˜๊ณ  ํ”ฝ์—…ํ•˜์„ธ์š”!

Node 18+ ยท FastAPI ยท PostgreSQL ยท MongoDB ยท Redis ยท Vite ยท pnpm ยท Docker ยท GitHub Actions ยท OAuth 2.0 (Naver/Google)


๋ชฉ์ฐจ


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

์ €๋ ดํ•œ๋ผ(Cheap-Bob) ํ๊ธฐํ•  ์ƒ๋Ÿฌ๋“œ๋กœ ๊ฑด๊ฐ•ํ•œ ํ•œ๋ผ๋ฅผ ์ €๋ ดํ•˜๊ฒŒ. ๋งˆ๊ฐ์„ธ์ผ ์ƒ๋Ÿฌ๋“œ ๋žœ๋คํŒ๋งค ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

  • ์†Œ๋น„์ž: ํ”„๋ฆฌ๋ฏธ์—„ ์ƒ๋Ÿฌ๋“œ/ํฌ์ผ€๋ฅผ ์ €๋ ดํ•˜๊ฒŒ ์„ ๊ตฌ๋งค โ†’ ํ”ฝ์—…
  • ํŒ๋งค์ž: ํ๊ธฐ ์ง์ „ ์žฌ๊ณ ๋ฅผ ์ˆ˜์ตํ™” โ†’ ํ๊ธฐ์œจ/์›๊ฐ€ ์†์‹ค ๊ฐ์†Œ
  • ์‚ฌํšŒ์  ๊ฐ€์น˜: ์Œ์‹๋ฌผ ์“ฐ๋ ˆ๊ธฐ ์ €๊ฐ, ESG ์‹ค์ฒœ, 1์ธ ๊ฐ€๊ตฌ ๊ฑด๊ฐ• ์ฆ์ง„

โœจ ๊ธฐ๋Šฅ ์š”์•ฝ

  • ๐Ÿฅฌ ๋งˆ๊ฐ์„ธ์ผ ๋žœ๋คํŒฉ: ๋งค์žฅ๋ณ„ ๋‚จ๋Š” ์žฌ๋ฃŒ ๊ธฐ๋ฐ˜ ๋žœ๋ค ๊ตฌ์„ฑ/๊ณ ์ •๊ฐ€ ํŒ๋งค
  • ๐Ÿ•’ ์ฃผ๋ฌธ ์ƒํƒœ ์ถ”์ : ์˜ˆ์•ฝ โ†’ ์ˆ˜๋ฝ โ†’ ์™„๋ฃŒ/์ทจ์†Œ ์‹ค์‹œ๊ฐ„ ํ™•์ธ
  • ๐Ÿ“ฑ QR ํ”ฝ์—… ์ธ์ฆ: ์ธ์•ฑ ์Šค์บ๋„ˆ๋กœ ์ˆ˜๋ น ์‹œ์  ์ธ์ฆ/๋กœ๊ทธ ๋‚จ๊น€
  • ๐Ÿ‘ค ๊ฐœ์ธํ™”: ์˜์–‘ ๋ชฉํ‘œ/์„ ํ˜ธ ํ† ํ•‘/์•Œ๋ ˆ๋ฅด๊ธฐ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ
  • ๐Ÿ” ์ž๋™ํ™” ์Šค์ผ€์ค„๋ง: ๋งˆ๊ฐ ์ž๋™ ํ™˜๋ถˆ, ์žฌ๊ณ  ์ดˆ๊ธฐํ™”, ๊ฒฐ์ œ ์ดํƒˆ ๋ณต๊ตฌ ๋“ฑ
  • ๐Ÿ“ง ์ด๋ฉ”์ผ ์•Œ๋ฆผ: ์ฃผ๋ฌธ/์ˆ˜๋ฝ/์ทจ์†Œ ๋น„๋™๊ธฐ ๋ฉ”์ผ ๋ฐœ์†ก(BackgroundTasks)

๐Ÿ— ์•„ํ‚คํ…์ฒ˜

์ €๋ ดํ•œ๋ผ ์ €๋ ดํ•œ๋ผ


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

์˜์—ญ ์‚ฌ์šฉ ๊ธฐ์ˆ 
Frontend React, Vite, TypeScript, pnpm, TailwindCSS
Backend FastAPI, Pydantic, SQLAlchemy, Beanie
DB/Cache PostgreSQL, MongoDB, Redis
Infra/DevOps Docker, GitHub Actions, Object Storage(๋ฐฑ์—…), Naver Cloud
Auth OAuth 2.0 (Naver/ Google), JWT
๊ธฐํƒ€ APScheduler, BackgroundTasks(๋ฉ”์ผ), In-Web QR Scanner, Naver Map API, Daum Map API, Daum Postcode API

๊ธฐ์ˆ  ์Šคํƒ


๐Ÿ“‚ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ตฌ์กฐ


๐Ÿง  ๋„๋ฉ”์ธ/DB ๊ฐœ์š”

  • Seller/Store: ๋งค์žฅ, ์šด์˜์ •๋ณด(์š”์ผ๋ณ„ ์˜์—…/ํ”ฝ์—…), ์ฃผ์†Œ, ๊ฒฐ์ œ์„ค์ •, SNS
  • Product: ๊ฐ€๊ฒฉ/ํ• ์ธ์œจ/์žฌ๊ณ /๋ฒ„์ „๊ด€๋ฆฌ(๋‚™๊ด€์  ๋ฝ), ์˜์–‘์ •๋ณด(N:N)
  • Customer: ์ƒ์„ธ/์ฆ๊ฒจ์ฐพ๊ธฐ/์„ ํ˜ธ ๋ฉ”๋‰ดยทํ† ํ•‘ยท์˜์–‘ยท์•Œ๋ ˆ๋ฅด๊ธฐ
  • Order: ์žฅ๋ฐ”๊ตฌ๋‹ˆ โ†’ ์ฃผ๋ฌธ(์˜ˆ์•ฝ/์ˆ˜๋ฝ/์™„๋ฃŒ/์ทจ์†Œ), ์‹œ์  ์Šค๋ƒ…์ƒท(๊ฐ€๊ฒฉ/ํ• ์ธ/์„ ํ˜ธ)
  • Logs: ํ”ฝ์—… QR ์ธ์ฆ, ์ƒํƒœ ์ „์ด ์ด๋ ฅ, ๋ฉ”์ผ ๋ฐœ์†ก ๊ฒฐ๊ณผ

โฑ ์Šค์ผ€์ค„๋Ÿฌ ์ž‘์—…

  • ๊ฐ€๊ฒŒ ๋งˆ๊ฐ ์‹œ: ์ˆ˜๋ฝ ์ค‘ ์ฃผ๋ฌธ ์ž๋™ ์™„๋ฃŒ ์ฒ˜๋ฆฌ
  • ํ”ฝ์—… ๋งˆ๊ฐ ์‹œ: ์˜ˆ์•ฝ ์ƒํƒœ ์ฃผ๋ฌธ ์ž๋™ ํ™˜๋ถˆ ์ฒ˜๋ฆฌ
  • ๋งค์ผ 04์‹œ: ์žฌ๊ณ  ์ดˆ๊ธฐํ™”, ์šด์˜์ •๋ณด ์˜ˆ์•ฝ๋ฐ˜์˜, ํƒˆํ‡ด ์š”์ฒญ ์‚ฌ์šฉ์ž ์‚ญ์ œ
  • ๊ฒฐ์ œ ์ดํƒˆ: ์žฅ์‹œ๊ฐ„ ๊ฒฐ์ œ ์ ์œ  ์‹œ ์žฌ๊ณ  ๋ณต๊ตฌ + ์ฃผ๋ฌธ ๊ถŒํ•œ ์ทจ์†Œ
  • ์žฅ์•  ๋ณต๊ตฌ: ์„œ๋ฒ„ ๋‹ค์šด ์ค‘ ๋ˆ„๋ฝ๋œ ์ฃผ๋ฌธ ๋ณด์ • ํ™˜๋ถˆ

๐Ÿ” ๋ณด์•ˆ/์ธ์ฆ

  • OAuth 2.0: Naver(์Šน์ธ ์™„๋ฃŒ) / Google(์Šน์ธ ์ง„ํ–‰)
  • JWT: ์•ก์„ธ์Šค ํ† ํฐ ์•”ยท๋ณตํ˜ธํ™”, ๋งŒ๋ฃŒ/๋ธ”๋ž™๋ฆฌ์ŠคํŠธ ์ „๋žต
  • ๊ถŒํ•œ: ์†Œ๋น„์ž/ํŒ๋งค์ž ๋ถ„๋ฆฌ, ์—”๋“œํฌ์ธํŠธ ์Šค์ฝ”ํ”„ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด
  • ๋ฐฑ์—…: ๋ฐฐํฌ ์‚ฐ์ถœ๋ฌผ zip โ†’ Object Storage ๋ณด๊ด€

๐Ÿšš CI/CD

  • GitHub Actions: PR ๊ฒ€์‚ฌ/๋นŒ๋“œ/ํ…Œ์ŠคํŠธ/์ด๋ฏธ์ง€ ๋นŒ๋“œ
  • Webhook: ๋ฐฐํฌ ์„œ๋ฒ„/SourceCommit ํŒŒ์ดํ”„๋ผ์ธ ํŠธ๋ฆฌ๊ฑฐ
  • ๋ฐฐํฌ: Docker ์ปจํ…Œ์ด๋„ˆ ๋ฌด์ค‘๋‹จ ๊ต์ฒด(blue/green ๋˜๋Š” rolling)
  • ์•„ํ‹ฐํŒฉํŠธ: ๋นŒ๋“œ ์‚ฐ์ถœ๋ฌผ zip์„ Object Storage์— ๋ณด๊ด€(๋กค๋ฐฑ ๋Œ€๋น„)

๊ธฐ์ˆ  ์Šคํƒ

---

๐Ÿ‘ฅ Contributor

Backend Frontend
Hyeonsang Cho gimgyuwon

๐Ÿ“œ ๋ผ์ด์„ ์Šค

MIT License ยฉ 2025 ์ €๋ ดํ•œ๋ผ (Cheap-Bob)

About

๐Ÿฅฌ๊ฐ€๊นŒ์šด ๋งค์žฅ์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒ๋Ÿฌ๋“œ ๋žœ๋คํŒฉ์„ ์ฃผ๋ฌธํ•˜๊ณ  ํ”ฝ์—…ํ•˜์„ธ์š”! ๐Ÿฅฌ

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages