Skip to content

shinyou28/LuFin

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1,000 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ LuFin - ์ฒญ์†Œ๋…„ ๊ฒฝ์ œ ๊ต์œก ํ”Œ๋žซํผ

lufin_main

๐Ÿ‘ฅ ํŒ€์› ์†Œ๊ฐœ

profile profile profile profile profile profile
์ด์žฌํ˜„(ํŒ€์žฅ / FE) ๊น€์„œํ˜„(BE) ์‹ ์œ ์˜(FE) ์–‘์€์„œ(BE) ์กฐํ™๊ท (BE) ์ตœ๋ฏผ์ฃผ(FE)
marunturtle seohye-ki shinyou28 yes2489 NekoShoot minjumost

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

LuFin์€ ์ฒญ์†Œ๋…„๋“ค์—๊ฒŒ ๊ฒฝ์ œ์  ๊ฐœ๋…์„ ์žฌ๋ฏธ์žˆ๊ณ  ์‹ค์šฉ์ ์œผ๋กœ ๊ฐ€๋ฅด์น˜๋ฉด์„œ ์ž์‚ฐ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ์„ ํ‚ค์šฐ๋Š” ๊ต์œก ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์ดˆ๋“ฑํ•™๊ต ๊ณ ํ•™๋…„๊ณผ ๊ต์‚ฌ๋“ค์„ ๋Œ€์ƒ์œผ๋กœ, ์‹ค์ œ ๊ฒฝ์ œ ํ™œ๋™์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋ฉฐ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

  • ๊ฒฝ์ œ ๊ต์œก์˜ ๊ฒŒ์ž„ํ™”๋ฅผ ํ†ตํ•œ ํ•™์Šต ๋™๊ธฐ ๋ถ€์—ฌ
  • ์‹ค์ „์ ์ธ ๊ธˆ์œต ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฒฝํ—˜ ์ œ๊ณต
  • ์‹ ์šฉ ๊ด€๋ฆฌ์™€ ์ž์‚ฐ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ ํ–ฅ์ƒ
  • ๊ฒฝ์ œ์  ์˜์‚ฌ๊ฒฐ์ • ๋Šฅ๋ ฅ ๊ฐœ๋ฐœ

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

๋ฒ”์ฃผ ๊ธฐ์ˆ 
Frontend React 19, TypeScript, Vite, Zustand, Tailwind CSS, MUI, Framer Motion, Headless UI, React Router DOM
Backend Spring Boot, Spring Security, JPA, Hibernate, MySQL, Redis
Infra / DevOps Jenkins, Docker, Nginx, AWS EC2
Collaboration Git, GitLab, Jira, Figma, Notion
Data Visualization Chart.js, React Chart.js 2

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ“Š ๋Œ€์‹œ๋ณด๋“œ

๊ต์‚ฌ์™€ ํ•™์ƒ์˜ ์ž์‚ฐ, ์‹ ์šฉ์ ์ˆ˜, ๋ฏธ์…˜ ํ˜„ํ™ฉ ๋“ฑ์„ ํ•œ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ธ ํ™”๋ฉด์ž…๋‹ˆ๋‹ค.
๊ฐœ์ธํ™”๋œ ์ •๋ณด๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ํ•™์Šต ๋™๊ธฐ ์œ ๋ฐœ๊ณผ ์ž๊ธฐ ์ฃผ๋„์  ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


๋Œ€์‹œ๋ณด๋“œ(ํ•™์ƒ)
ํ•™์ƒ๋Œ€์‹œ๋ณด๋“œ gif ํ•™์ƒ๋Œ€์‹œ๋ณด๋“œ ํ”Œ๋ฆฝ gif
๋Œ€์‹œ๋ณด๋“œ(๊ต์‚ฌ)
๊ต์‚ฌ๋Œ€์‹œ๋ณด๋“œ1 ๊ต์‚ฌ๋Œ€์‹œ๋ณด๋“œ2

๐Ÿชช ์‹ ์šฉ์ ์ˆ˜

ํ•™์ƒ์˜ ๊ธˆ์œต ํ™œ๋™ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ์‹ ์šฉ ์ ์ˆ˜๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.
์ผ์ • ์ ์ˆ˜ ๋ฏธ๋งŒ์ผ ๊ฒฝ์šฐ โ€˜๊ฐœ์ธํšŒ์ƒโ€™ ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์ณ ํšŒ๋ณต ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ต์‚ฌ์˜ ์Šน์ธ ํ๋ฆ„๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.


๊ฐœ์ธํšŒ์ƒ ์‹ ์ฒญ(ํ•™์ƒ) ๊ฐœ์ธํšŒ์ƒ ์ˆ˜๋ฝ(๊ต์‚ฌ) ๊ฐœ์ธํšŒ์ƒ ์™„๋ฃŒ(ํ•™์ƒ)
๊ฐœ์ธํšŒ์ƒ ์š”์ฒญ ๊ฐœ์ธํšŒ์ƒ ์ˆ˜๋ฝ ๊ฐœ์ธํšŒ์ƒ ์™„๋ฃŒ

๐Ÿ’ฐ ์ƒ์ 

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


์•„์ดํ…œ ์ƒ์„ฑ(๊ต์‚ฌ) ์•„์ดํ…œ ์ƒ์„ธ์กฐํšŒ(๊ต์‚ฌ) ์•„์ดํ…œ ์‚ญ์ œ(๊ต์‚ฌ)
์•„์ดํ…œ ์ƒ์„ฑ ์•„์ดํ…œ ์กฐํšŒ ์•„์ดํ…œ ์‚ญ์ œ
์•„์ดํ…œ ๊ตฌ๋งค(ํ•™์ƒ) ์•„์ดํ…œ ์‚ฌ์šฉ์š”์ฒญ(ํ•™์ƒ) ์•„์ดํ…œ ์‚ฌ์šฉ์š”์ฒญ ์ˆ˜๋ฝ(๊ต์‚ฌ)
์•„์ดํ…œ ๊ตฌ๋งค ์•„์ดํ…œ ์‚ฌ์šฉ์š”์ฒญ ์•„์ดํ…œ ์‚ฌ์šฉ์š”์ฒญ ์ˆ˜๋ฝ

๐Ÿ“ ๋ฏธ์…˜

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


๋ฏธ์…˜ ์ƒ์„ฑ(๊ต์‚ฌ) ๋ฏธ์…˜ ์‹ ์ฒญ(ํ•™์ƒ) ๋ฏธ์…˜ ๊ฒ€ํ† (๊ต์‚ฌ)
๋ฏธ์…˜ ์ƒ์„ฑ ๋ฏธ์…˜ ์‹ ์ฒญ ๋ฏธ์…˜ ๊ฒ€ํ† 

๐Ÿ“ ๋Œ€์ถœ

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


๋Œ€์ถœ ์‹ ์ฒญ(ํ•™์ƒ) ๋Œ€์ถœ ์Šน์ธ(๊ต์‚ฌ)
๋Œ€์ถœ ์‹ ์ฒญ ๋Œ€์ถœ ์Šน์ธ

๐Ÿ“ˆ ํˆฌ์ž

ํ•˜๋ฃจ 2๋ฒˆ(์˜ค์ „/์˜คํ›„) ์ฃผ์‹ ์‹œ์„ธ ๋ณ€๋™์— ๋”ฐ๋ผ ๊ฐ€์ƒ์˜ ์ข…๋ชฉ์„ ๋งค์ˆ˜/๋งค๋„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํฌํŠธํด๋ฆฌ์˜ค ์ˆ˜์ต๋ฅ ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํˆฌ์ž ์„ฑ๊ณผ๋Š” ํ•™์Šต ๋™๊ธฐ์™€ ์ž์‚ฐ ํ˜•์„ฑ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


์ฃผ์‹ ๋งค์ˆ˜(ํ•™์ƒ) ์ฃผ์‹ ํฌํŠธํด๋ฆฌ์˜ค(ํ•™์ƒ)
์ฃผ์‹ ๋งค์ˆ˜ ์ฃผ์‹ ํฌํŠธํด๋ฆฌ์˜ค

๐Ÿ’ณ ์‹ ์šฉ ์‹œ์Šคํ…œ ์ƒ์„ธ

์‹ ์šฉ ๋“ฑ๊ธ‰ ์ฒด๊ณ„

  • 15๋‹จ๊ณ„ ์‹ ์šฉ๋“ฑ๊ธ‰ (A+, A, A-, B+, B, B-, C+, C, C-, D+, D, D-, F+, F, F-)
  • 0~100์  ๋ฒ”์œ„์˜ ์‹ ์šฉ์ ์ˆ˜ ์‹œ์Šคํ…œ
  • 5์  ๋‹จ์œ„ ๋ณ€๋™์œผ๋กœ ์•ˆ์ •์ ์ธ ๋“ฑ๊ธ‰ ๊ด€๋ฆฌ

์‹ ์šฉ์ ์ˆ˜ ๋ณ€๋™ ์š”์†Œ

  1. ๋Œ€์ถœ ๊ด€๋ฆฌ

    • ์ด์ž ์ •์ƒ ๋‚ฉ์ž…: +1์ 
    • ์ด์ž ์—ฐ์ฒด: -4์ 
    • ์›๊ธˆ ์ƒํ™˜ ์„ฑ๊ณต: +3์ 
    • ์›๊ธˆ ์ƒํ™˜ ์‹คํŒจ: -10์ 
  2. ๋ฏธ์…˜ ์ˆ˜ํ–‰

    • ๋ฏธ์…˜ ์„ฑ๊ณต: +2์ 
    • ๋ฏธ์…˜ ์‹คํŒจ: -2์ 

์‹ ์šฉ ํšŒ์ƒ ์‹œ์Šคํ…œ

  • F- ๋“ฑ๊ธ‰(30์  ๋ฏธ๋งŒ) ๋„๋‹ฌ ์‹œ ํšŒ์ƒ ์ ˆ์ฐจ ์‹œ์ž‘
  • ๊ต์‚ฌ ์Šน์ธ ํ›„ 35์ (F+)์œผ๋กœ ์กฐ์ •
  • ๋‹จ๊ณ„์  ๊ธˆ์œต ํ™œ๋™ ์ œํ•œ ํ•ด์ œ
  • D- ๋“ฑ๊ธ‰ ๋„๋‹ฌ ์‹œ ์ •์ƒ ํ™œ๋™ ๊ฐ€๋Šฅ

๐ŸŽฏ ํŠน์žฅ์ 

Frontend ํŠน์žฅ์ 

  1. ์‹ค์ „์ ์ธ ๊ฒฝ์ œ ๊ต์œก

    • ์‹ค์ œ ๊ธˆ์œต ์‹œ์Šคํ…œ์„ ๋ชจ๋ฐฉํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜
    • ์‹ค์‹œ๊ฐ„ ์‹œ์žฅ ์ƒํ™ฉ ๋ฐ˜์˜
    • ๋ฆฌ์Šคํฌ ๊ด€๋ฆฌ ํ•™์Šต
  2. ๊ฒŒ์ž„ํ™”๋œ ํ•™์Šต ๊ฒฝํ—˜

    • ๋ฏธ์…˜ ๊ธฐ๋ฐ˜ ๋ณด์ƒ ์‹œ์Šคํ…œ
    • ์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ๋ฐฑ
    • ๊ฒฝ์Ÿ ์š”์†Œ๋ฅผ ํ†ตํ•œ ๋™๊ธฐ ๋ถ€์—ฌ
  3. ์ง๊ด€์ ์ธ UI/UX

    • ๋ชจ๋˜ํ•˜๊ณ  ๊น”๋”ํ•œ ๋””์ž์ธ
    • ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ
    • ๋ถ€๋“œ๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜
  4. ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์•„ํ‚คํ…์ฒ˜

    • ๋ชจ๋“ˆํ™”๋œ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ
    • ํƒ€์ž… ์•ˆ์ •์„ฑ
    • ํšจ์œจ์ ์ธ ์ƒํƒœ ๊ด€๋ฆฌ

Backend ํŠน์žฅ์ 

  1. ๋„๋ฉ”์ธ ์ž๋™ ์—ฐ๋™ ์‹œ์Šคํ…œ

    • ์ƒํƒœ ๊ธฐ๋ฐ˜ ์ž๋™ ํŠธ๋ฆฌ๊ฑฐ
    • ๋‹จ์ผ ์š”์ฒญ์œผ๋กœ ๋ณตํ•ฉ ๋„๋ฉ”์ธ ์ฒ˜๋ฆฌ
    • ๋ช…์‹œ์  ํŠธ๋žœ์žญ์…˜ ์ œ์–ด
  2. ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋ณด์žฅ

    • ๋น„๊ด€์  Lock ๊ธฐ๋ฐ˜ ๋™์‹œ์„ฑ ์ œ์–ด
    • ๋„๋ฉ”์ธ๋ณ„ ๊ฒฝ์Ÿ ์กฐ๊ฑด ๋ฐฉ์ง€
    • ํƒ€์ž„์•„์›ƒ ์ œ์–ด ์‹œ์Šคํ…œ
  3. ๋ณด์•ˆ ์ค‘์‹ฌ ์„ค๊ณ„

    • KISA ๊ธฐ๋ฐ˜ ์‹œํ์–ด ์ฝ”๋”ฉ
    • PBKDF2 + Salt ์•”ํ˜ธํ™”
    • ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ ์‹œ์Šคํ…œ
  4. ์‹ค์ „ ๊ธˆ์œต ์‹œ๋ฎฌ๋ ˆ์ด์…˜

    • ์‹ค์ œ ์€ํ–‰ ์‹œ์Šคํ…œ ๋ชจ๋ฐฉ
    • ์ž๋™ํ™”๋œ ์ด์ž ๊ณ„์‚ฐ
    • ์‹ค์‹œ๊ฐ„ ๊ฑฐ๋ž˜ ์ฒ˜๋ฆฌ

๐Ÿ† ์ˆ˜์ƒ ์ด๋ ฅ

์‚ผ์„ฑ ์ฒญ๋…„ SWโ€ขAI ์•„์นด๋ฐ๋ฏธ ํŠนํ™” ํ”„๋กœ์ ํŠธ ์šฐ์ˆ˜์ƒ (2025.04)

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

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

About

๐Ÿฆ ์‹ ์šฉ๋„๊ธฐ๋ฐ˜ ์ดˆ๋“ฑํ•™์ƒ ๊ธˆ์œต๊ต์œก ํ”Œ๋žซํผ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 51.2%
  • TypeScript 47.3%
  • CSS 1.1%
  • Other 0.4%