Skip to content

Week3: ๐Ÿ’ธ ์†Œ๋น„์˜ ์‹œ๊ฐํ™”, ๊ธˆ์œต์˜ ์ง๊ด€ํ™”. ๊ธˆ์œต ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜

Notifications You must be signed in to change notification settings

kaist-madcamp/mad-salad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๊ฐ€๊ณ„๋ถ€/๊ธˆ์œต ์•ฑ

์‚ฌ์šฉ์ž์˜ ์†Œ๋น„ ๋‚ด์—ญ์„ ์‹œ๊ฐํ™”, ์ง๊ด€ํ™”ํ•ด์ฃผ๋Š” ๊ฐ€๊ณ„๋ถ€/๊ธˆ์œต ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜.


์ด ํ”„๋กœ์ ํŠธ๋Š” 1์ฃผ์ผ ๋™์•ˆ https://bank.woowahan.dev/ ์›น์‚ฌ์ดํŠธ์˜ ๋””์ž์ธ๊ณผ ๊ธฐํš์„ ์ฐธ๊ณ ํ•˜์—ฌ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.
Vue๋กœ ๊ฐœ๋ฐœ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ React, TypeScript๋กœ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.


Motivation

์ €ํฌ ํŒ€์€ ๊ธˆ์œต, ๊ฐ€๊ฒŒ๋ถ€ ์›น์„ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ์—ˆ๊ณ  ๋‹ค์–‘ํ•œ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐพ๋˜ ๋„์ค‘ ์œ„์˜ ์›น์‚ฌ์ดํŠธ๋ฅผ ์ฐพ๊ฒŒ๋˜์–ด ๋””์ž์ธ๊ณผ, ๊ธฐํš์„ ๊ฑฐ์˜ ๋˜‘๊ฐ™์ด ์ฐธ๊ณ ํ•˜์—ฌ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋‹ฌ๋ž๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ˆœํ•œ helper function์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์ƒ๋ช…์ฃผ๊ธฐ, ๋น„๋™๊ธฐ ์ฝ”๋“œ๋Š” ์ง์ ‘ customํ•˜์—ฌ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.
์ถ”๊ฐ€์ ์œผ๋กœ ์†ก๊ธˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํŒ€์›๋“ค๋ผ๋ฆฌ ํšŒ์˜๋ฅผ ๊ฑฐ์ณ transaction ์Šคํ‚ค๋งˆ๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ €ํฌ๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์˜คํ”ˆ์†Œ์Šค๋กœ deployํ•ฉ๋‹ˆ๋‹ค.

  1. Team
  2. Sign up
  3. History Tab
  4. Calendar Tab
  5. Analytics Tab
  6. Transaction Tab
  7. REST API

Front-end

Back-end


Client side(Web)

  • ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ํšŒ์›๊ฐ€์ž… ๊ฐ€๋Šฅ.
  • ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ validation check ๊ตฌํ˜„.
  • ์‚ฌ์šฉ์ž์˜ ๊ฑฐ๋ž˜ ๋‚ด์—ญ์„ ์›”๋ณ„๋กœ ๋ชจ๋‘ ๋ชจ์•„ ๋ณด์—ฌ์คŒ.
  • ์ง€์ถœ๊ณผ ์ˆ˜์ž… ์œ ํ˜•์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ๋”ฐ๋กœ ๋ชจ์•„ ๋ณผ ์ˆ˜ ์žˆ์Œ.
  • ๊ฑฐ๋ž˜ ๋‚ด์—ญ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ.

  • ์‚ฌ์šฉ์ž์˜ ๊ฑฐ๋ž˜ ๋‚ด์—ญ์„ ๋‚ ์งœ๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ ๋‹ฌ๋ ฅ์— ๋‚˜ํƒ€๋‚ด์คŒ.
  • ์›”๋ณ„ ์ด ์ง€์ถœ ๋ฐ ์ˆ˜์ž… ๊ธˆ์•ก ํ™•์ธ ๊ฐ€๋Šฅ.
  • ์ˆ˜์ž…์€ ํŒŒ๋ž€์ƒ‰์œผ๋กœ, ์ง€์ถœ์€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์œ ํ˜•์„ ๋ถ„๋ฅ˜ํ•จ.
  • ๊ฐ ๊ฑฐ๋ž˜ ๋‚ด์—ญ์„ ํด๋ฆญํ•˜๋ฉด ์ƒ์„ธ๋‚ด์—ญ(๋‚ ์งœ, ์นดํ…Œ๊ณ ๋ฆฌ, ์ง€๋ถˆ ์œ ํ˜•, ์ œ๋ชฉ, ๊ธˆ์•ก) ํ™•์ธ ๋ฐ ์ˆ˜์ • ๊ฐ€๋Šฅ.
  • ์ง€๋ถˆ ๋ฐฉ๋ฒ• ์„ ํƒ์‹œ ์„ ํƒ๋œ ์นด๋“œ์— floating ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ
  • Add History ๋ฒ„ํŠผ์„ ํ†ตํ•ด ๊ฑฐ๋ž˜ ๋‚ด์—ญ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ.

  • By Categoreis: ์‚ฌ์šฉ์ž์˜ ์†Œ๋น„๋ฅผ ํŒŒ์ด ๊ทธ๋ž˜ํ”„์™€ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋ฅผ ์ด์šฉํ•ด, ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋‚˜๋ˆ  ๋น„๊ต ๋ถ„์„ํ•จ.
  • By Dates: ์‚ฌ์šฉ์ž์˜ ์†Œ๋น„๋ฅผ ๊บฝ์€์„  ๊ทธ๋ž˜ํ”„๋ฅผ ์ด์šฉํ•ด, ๋‚ ์งœ๋ณ„๋กœ ๋น„๊ต ๋ถ„์„ํ•จ.

  • ์‚ฌ์šฉ์ž์˜ ๊ณ„์ขŒ(๊ฑฐ๋ž˜ ์ˆ˜๋‹จ)์„ ๊ด€๋ฆฌํ•จ.
  • ๊ณ„์ขŒ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Œ.
  • ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€๋ฆฌํ•œ ๊ณ„์ขŒ๋ฅผ ๊ฑฐ๋ž˜ ์ถ”๊ฐ€/์ˆ˜์ • ์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ.
  • ๋‹ค๋ฅธ ๊ณ„์ขŒ๋กœ ์†ก๊ธˆ ๊ฐ€๋Šฅ
  • ์†ก๊ธˆ ์นดํ…Œ๊ณ ๋ฆฌ, ์†ก๊ธˆ ๊ณ„์ขŒ, ๋ฐ›๋Š” ๊ณ„์ขŒ ๋ฒˆํ˜ธ, ์†ก๊ธˆ ๋‚ด์—ญ, ๊ธˆ์•ก์„ ์ž…๋ ฅํ•˜๋ฉด ์†ก๊ธˆ๋จ
  • ์ตœ๋Œ€ ์†ก๊ธˆ ๊ธˆ์•ก์€ ๋ณด๋‚ด๋Š” ๊ณ„์ขŒ์˜ ์ž”์•ก์— ๋”ฐ๋ผ ๊ฒฐ์ •๋จ
  • ์†ก๊ธˆ ๋‚ ์งœ๋Š” ๋‹น์ผ๋งŒ ๊ฐ€๋Šฅ
  • ๋ฐ›๋Š” user์—๊ฒŒ ์†ก๊ธˆ transaction์ด pending ๋˜์–ด ์žˆ๋‹ค๊ฐ€ ํ•ด๋‹น user์—๊ฒŒ pending ๋˜์–ด์žˆ๋Š” transaction์ด ๋“ค์–ด์˜ค๋ฉด ์†ก๊ธˆ์„ ๋ฐ›๊ฒ ๋ƒ๋Š” alert dialog๊ฐ€ ๋œจ๊ฒŒ๋จ.
  • ์ˆ˜๋ฝ์„ ๋ˆ„๋ฅด๋ฉด transaction commit, ๊ฑฐ์ ˆ์„ ๋ˆ„๋ฅด๋ฉด rollback


Server

Tech

  • Nodejs
  • TypeScript
  • Express
  • Prisma(ORM)

DB schema

PostgreSQL database schema

์Šคํฌ๋ฆฐ์ƒท 2021-08-04 ์˜ค์ „ 2 02 32

Auth

User

Account

Transaction

Category

About

Week3: ๐Ÿ’ธ ์†Œ๋น„์˜ ์‹œ๊ฐํ™”, ๊ธˆ์œต์˜ ์ง๊ด€ํ™”. ๊ธˆ์œต ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published