Skip to content

white-sand-beach/gaeun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ ๊ฐ€์šด๋ฐ์—์„œ ๋‚˜๋ˆ”์„ ๋ฒ ํ’€๋‹ค, ๊ฐ€์€

๐Ÿ—“๏ธย ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„

2024.04.08 - 2024.05.20


๐Ÿ“ย ์„œ๋น„์Šค ์†Œ๊ฐœ

์ฐธ์—ฌ ํšŒ์›(๊ฒฐ์‹ ์•„๋™ ๋ฐ ๊ณต์ง์ž)์—๊ฒŒ๋Š” ์Œ์‹์„ ๋‚˜๋ˆ”ํ•˜๊ณ ,
์ผ๋ฐ˜ ํšŒ์›์—๊ฒŒ๋Š” ์›๋ž˜์˜ ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•˜๊ฒŒ ์Œ์‹์„ ํŒ๋งคํ•ฉ๋‹ˆ๋‹ค.
์ง€์—ญ ์‚ฌํšŒ์— ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ ,
๋”ฐ๋œปํ•œ ๋ถ„์œ„๊ธฐ๋ฅผ ์กฐ์„ฑํ•˜์—ฌ ๋‚˜๋ˆ”์ด ์ƒํ™œํ™”๋˜๋Š” ๋ฌธํ™”๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ”Œย ๊ธฐ์ˆ  ์Šคํƒ

Frontend

Backend

Database

Server

Collaboration


๐Ÿ“ฑ ์„œ๋น„์Šค ํ™”๋ฉด ๋ฐ ์ฃผ์š” ๊ธฐ๋Šฅ

  1. ๋‚ด ์œ„์น˜ ์ค‘์‹ฌ ๊ฐ€๊ฒŒ ๋ชฉ๋ก ์กฐํšŒ

    image
    • ๊ฐ€๊นŒ์šด ์ˆœ, ๋‚˜๋ˆ” ์ˆœ, ๊ฐ์‚ฌํŽธ์ง€ ์ˆœ
    • ์ง€๋„์— ๊ฐ€๊ฒŒ ์นดํ…Œ๊ณ ๋ฆฌ ์•„์ด์ฝ˜ ํ‘œ์‹œ
  2. ๊ฐ€๊ฒŒ ์ƒ์„ธ ์กฐํšŒ

    image
    • ์ฐœ ๊ธฐ๋Šฅ
    • ๋ฉ”๋‰ด / ์ •๋ณด, ์›์‚ฐ์ง€ / ๋‚ด ๊ฐ์‚ฌํŽธ์ง€ ์กฐํšŒ
  3. ๋ฉ”๋‰ด ์„ ํƒ ๋ฐ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋‹ด๊ธฐ

    image
    • ๋‚จ์€ ์ˆ˜๋Ÿ‰๋ณด๋‹ค ์ ์€ ์ˆ˜๋Ÿ‰๋งŒ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋‹ด๊ธฐ ๊ฐ€๋Šฅ
    • ๊ฐ™์€ ๊ฐ€๊ฒŒ์˜ ๋ฉ”๋‰ด๋งŒ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋‹ด๊ธฐ ๊ฐ€๋Šฅ
  4. ์ฃผ๋ฌธ - ์ฐธ์—ฌ ์‚ฌ์šฉ์ž (๋‚˜๋ˆ”)

    image

    ์ฃผ๋ฌธ - ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž (๊ฒฐ์ œ)

    image

    ์ฃผ๋ฌธ - ์‚ฌ์žฅ๋‹˜

    image
    • ์†Œ๋น„์ž ๊ฒฐ์ œ ์‹œ ์ฃผ๋ฌธ ์™„๋ฃŒ ๋ฐ ์‚ฌ์žฅ๋‹˜๊ป˜ ์•Œ๋ฆผ
    • ์ฃผ๋ฌธ ์™„๋ฃŒ / ์ง„ํ–‰ ์ค‘ / ์ค€๋น„ ์™„๋ฃŒ / ์ˆ˜๋ น ์™„๋ฃŒ / ์ทจ์†Œ๋จ / ๊ฑฐ์ ˆ๋จ
    • ์ฃผ๋ฌธ ์ƒํƒœ์— ๋”ฐ๋ผ ์•Œ๋ฆผ
  5. ๊ฐ์‚ฌ ํŽธ์ง€ ์ž‘์„ฑ ๋ฐ ํ™•์ธ

    image
    image

    • ์ฃผ๋ฌธ ๋‚ด์—ญ์— ๋Œ€ํ•ด ๊ฐ์‚ฌ ํŽธ์ง€ ์ž‘์„ฑ ๊ฐ€๋Šฅ
    • ์ด๋ฏธ์ง€ ์ฒจ๋ถ€ ๊ฐ€๋Šฅ
    • ๊ฐ ๊ฐ€๊ฒŒ ๋ณ„๋กœ ๋‚ด๊ฐ€ ์“ด ๊ฐ์‚ฌ ํŽธ์ง€๋งŒ ๋ณด๊ธฐ ๊ฐ€๋Šฅ
  6. ์‹ค์‹œ๊ฐ„ ๊ธ‰์ƒ์Šน ๊ฒ€์ƒ‰์–ด ์ˆœ์œ„ ๋ฐ ์นดํ…Œ๊ณ ๋ฆฌ, ๊ฒ€์ƒ‰

    image
    • 1์‹œ๊ฐ„ ์ „ ๊ธฐ์ค€ ์‹ค์‹œ๊ฐ„ ๊ธ‰์ƒ์Šน ๊ฒ€์ƒ‰์–ด ์ˆœ์œ„ ์กฐํšŒ
    • ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ์กฐํšŒ
    • ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ ๋ณ„ ์กฐํšŒ
  7. ์•Œ๋ฆผ

    image
    • ํฌ๊ทธ๋ผ์šด๋“œ & ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ‘ธ์‹œ ์•Œ๋ฆผ ๋ฐ ์•Œ๋ฆผ ๋ชฉ๋ก ์กฐํšŒ
    • ์ฐœํ•œ ๊ฐ€๊ฒŒ์˜ ํŒ๋งค ๋“ฑ๋ก ์•Œ๋ฆผ
    • ์ฃผ๋ฌธ ๋ฐ ํŽธ์ง€ ๊ด€๋ จ ์•Œ๋ฆผ
    • ์ƒ์„ธ ํŽ˜์ด์ง€ ์กฐํšŒ ๋ฐ ์ฝ์Œ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

๐Ÿ“‚ ํ”„๋กœ์ ํŠธ ์‚ฐ์ถœ๋ฌผ

์™€์ด์–ดํ”„๋ ˆ์ž„
image image
ํ”„๋กœํ† ํƒ€์ž…
image image
ERD
image
์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜
image


๐Ÿ˜บ ํŒ€์› ์†Œ๊ฐœ

์ด๋ฆ„ ์—ญํ•  ๋‚ด์šฉ
๊น€์ง„์˜ ํŒ€์žฅ
FE(์†Œ๋น„์ž)
INFRA
- ๋ฉ”์ธ ํŽ˜์ด์ง€(์นด์นด์˜ค๋งต ์ง€๋„ ์—ฐ๊ฒฐ)
- ๊ฐ€๊ฒŒ ์ •๋ณด, ํšŒ์› ํ”„๋กœํ•„, ํŽธ์ง€ ํŽ˜์ด์ง€
- ์œ„์น˜ ๊ด€๋ฆฌ
๋ฐ•์ข…ํ˜ FE(ํŒ๋งค์ž) - ์ „์ฒด ๊ธฐ๋Šฅ
- FCM ํ‘ธ์‹œ ์•Œ๋ฆผ
- ํ†ต๊ณ„(chart.js)
์•ˆํ˜„์„ฑ FE(์†Œ๋น„์ž) - ์†Œ์…œ ๋กœ๊ทธ์ธ
- ์•ก์„ธ์Šค ํ† ํฐ ๊ด€๋ฆฌ
- axiosInstance API ๋ชจ๋“ˆํ™”
- ํšŒ์› ๊ฐ€์ž… ์ถ”๊ฐ€ ์ •๋ณด, ํ”„๋กœํ•„ ์ˆ˜์ •, ์นดํ…Œ๊ณ ๋ฆฌ ๊ด€๋ จ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ
- ์ฃผ๋ฌธ/์žฅ๋ฐ”๊ตฌ๋‹ˆ/์ฐœ ๋“ฑ๋ก/๊ฒฐ์ œ/์•Œ๋ฆผ ๊ด€๋ จ API ์—ฐ๊ฒฐ
๊น€๋Œ€์˜ BE
INFRA
- FCM ํ‘ธ์‹œ ์•Œ๋ฆผ
- ์žฅ๋ฐ”๊ตฌ๋‹ˆ, ๋ฆฌ๋ทฐ, ๋ฉ”๋‰ด, ํŒ๋งค ๊ธฐ๋Šฅ
- S3 ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ
์„ฑ์˜์ค€ BE - ElasticSearch์™€ Kibana ๋ฐฐํฌ ๋ฐ ๋ณด์•ˆ ์ธ์ฆ ์„ค์ •
- jaso-analyzer-plugin์„ ์ด์šฉํ•ด ๊ฒ€์ƒ‰ ๋ฐ์ดํ„ฐ์˜ ์ž์†Œ ๋ถ„๋ฆฌ ์ƒ‰์ธ ์ ์šฉ
- ๋ฒŒํฌ ๋ฐ์ดํ„ฐ์™€ ๋ˆ„์  ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด ์ƒ์„ฑ
- ๋ˆ„์  ๋ฐ์ดํ„ฐ, ์Šค์ผ€์ค„๋ง, Redis๋ฅผ ์ด์šฉํ•ด ์ธ๊ธฐ ๊ฒ€์ƒ‰์–ด ๊ด€๋ฆฌ
- QueryDSL์™€ NativeQuery๋ฅผ ์ด์šฉํ•œ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ์ž‘์„ฑ ๋ฐ ์„ฑ๋Šฅ ๋น„๊ต
- Spring Security๋ฅผ ์‚ฌ์šฉํ•œ username-password ๊ธฐ๋ฐ˜ ์œ ์ € ์ธ์ฆ
- mail ๋ฐ redis๋ฅผ ์ด์šฉํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถ„์‹ค ์œ ์ € ๊ด€๋ฆฌ
- ๊ฐ€๊ฒŒ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๋ฐ ์Šค์ผ€์ค„๋ง์„ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ
- MapStruct๋ฅผ ์ด์šฉํ•œ ๊ฐ„ํŽธํ•œ ๋ฐ์ดํ„ฐ ๋งคํ•‘
์ž„์ˆ˜๋นˆ BE
INFRA
- ์†Œ์…œ ๋กœ๊ทธ์ธ(Spring Security, JWT, OAuth2)
- ์ฃผ๋ฌธ(์•„์ž„ํฌํŠธ ๊ฒฐ์ œ API ์—ฐ๋™, ๋™์‹œ์„ฑ ์ œ์–ด)
- ์†Œ๋น„์ž, ์œ„์น˜, ์ฐœ ๊ธฐ๋Šฅ

๐Ÿ“Ž ๋งํฌ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages