๋ฏธ๋ฆฌ๋‚ด ์•ฝ


ํ”„๋กœ์ ํŠธ ์„ค๋ช…(PRD)

์ด ํ”„๋กœ์ ํŠธ๋Š” ํ™˜์ž๊ฐ€ ์ฒ˜๋ฐฉ์ „ ์‚ฌ์ง„์„ ์ฐ์–ด ์•ฑ์— ๋กœ๋“œํ•˜๊ณ  ์•ฝ๊ตญ์„ ์„ ํƒํ•˜๋ฉด ์ฒ˜๋ฐฉ์ „๋งŒ ๋ฏธ๋ฆฌ ๋ณด๋‚ด ์•ฝ์„ ๋จผ์ € ์ง“๊ณ  ํ™˜์ž๊ฐ€ ์‹œ๊ฐ„ ๋  ๋•Œ ์ฐพ์•„๊ฐ€๋Š” ์‹œ์Šคํ…œ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ์ž…๋‹ˆ๋‹ค.

๋ฉ”์ธํ™”๋ฉด์„œ๋ธŒํ™”๋ฉด1์„œ๋ธŒํ™”๋ฉด2

๊ธฐ์ˆ  ์Šคํƒ

  • Fontend : Flutter
  • Backend : Rust(Actix-web)
  • Dashboard : Rust(Yew)
  • DB : Postgresql
  • Redis
  • deploy : fly.io

์‚ฌ์šฉ Flow

  • ํ™˜์ž๊ฐ€ ์ฒ˜๋ฐฉ์ „์„ ๋ฐ›๋Š”๋‹ค.
  • ์‚ฌ์ง„์„ ์ฐ์–ด ์›ํ•˜๋Š” ์•ฝ๊ตญ์— ์ „์†กํ•œ๋‹ค.(ํ˜„์žฌ๋Š” ๋‚ด์•ฝ๊ตญ๋งŒ ๋“ฑ๋ก ๋˜์–ด์žˆ๋‹ค.)
  • ์•ฝ๊ตญ์—์„œ ์•ฝ์„ ์กฐ์ œํ•˜๊ณ  ๋ชจ๋“  ์กฐ์ œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํ™˜์ž์—๊ฒŒ ํ‘ธ์‰ฌ์•Œ๋žŒ์„ ๋ณด๋‚ธ๋‹ค.
  • ํ™˜์ž๊ฐ€ ์•ฝ์„ ์ˆ˜๋ นํ•œ๋‹ค.

์ „๋‹ฌ ํ•˜๊ณ ์ž ํ•˜๋Š” ํ•ต์‹ฌ ๊ฐ€์น˜.

  • ์ž๊ธฐ๊ฐ€ ์›ํ•˜๋Š” ์‹œ๊ฐ„์— ๊ธฐ๋‹ค๋ฆผ ์—†์ด ์•ฝ์„ ์ˆ˜๋ นํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์•ฝ์„ ์ฐพ์œผ๋Ÿฌ ์—ฌ๋Ÿฌ ์•ฝ๊ตญ์— ์ „ํ™” ๋˜๋Š” ์ฐพ์•„ ๋‹ค๋‹ ํ•„์š”๊ฐ€ ์—†๋‹ค.

๋ฐœ์ „ ๋ฐฉํ–ฅ

  • ๋™๋„ค ์•ฝ๊ตญ๊ณผ ํ™˜์ž๋ฅผ ์ด์–ด์ฃผ๋Š” onDemand ํ”Œ๋žซํผ์ด ๋˜๊ณ ์ž ํ•œ๋‹ค.
  • ์ฒ˜๋ฐฉ์ „ ๋ฐฐ๋‹ฌ ๋˜๋Š” ์ผ๋ฐ˜์˜์•ฝํ’ˆ ๋ฐฐ๋‹ฌ ์‹œ์žฅ์˜ ์ „์ดˆ ํ”„๋กœ์ ํŠธ

โ€ฆ์ž‘์„ฑ์ค‘