PROJECT
μš°μ•„ν•˜λ‚˜
2025-01-01 ~ 2025-02-01

πŸ“ ν”„λ‘œμ νŠΈ μ†Œκ°œ

ν•˜λ‚˜μ€ν–‰ μ£Όκ΄€ λΆ€νŠΈμΊ ν”„ 2μ°¨ ν”„λ‘œμ νŠΈ κ²°κ³Όλ¬Όμž…λ‹ˆλ‹€.(졜우수 ν”„λ‘œμ νŠΈ μ„ μ •)

μš°μ•„ν•˜λ‚˜λŠ” 경제적 기반이 νƒ„νƒ„ν•˜κ³ , μ—¬κ°€ 및 취미에 κ΄€μ‹¬μžˆλŠ” μ•‘ν‹°λΈŒ μ‹œλ‹ˆμ–΄λ“€μ„ μœ„ν•œ λͺ¨μž„ 톡μž₯ ν”Œλž«νΌμž…λ‹ˆλ‹€.

νŒ€μž₯μœΌλ‘œμ„œ FE/BE 섀계λ₯Ό μ£Όλ„μ μœΌλ‘œ μ„€κ³„ν–ˆμŠ΅λ‹ˆλ‹€. 지라와 λ…Έμ…˜μ„ 톡해 ν˜‘μ—… ν”„λ‘œμ œμŠ€λ₯Ό λ§Œλ“€μ–΄ νŒ€μ˜ 업무 진행을 μ›ν™œν•˜κ²Œ ν–ˆμŠ΅λ‹ˆλ‹€.

git repository: https://github.com/woo-ah-hana


πŸ’‘ κ³ λ―Όν•œ λ‚΄μš©

μ»΄ν¬λ„ŒνŠΈ λ””μžμΈ μ‹œ μ•„ν† λ―Ή νŒ¨ν„΄κ³Ό CQRS νŒ¨ν„΄μ„ μ μš©ν•΄μ„œ μ„œλ²„ μ»΄ν¬λ„ŒνŠΈλ₯Ό 효율적으둜 μ‚¬μš©ν•΄ν–ˆμŠ΅λ‹ˆλ‹€. (LCP 평균 1.4 / CLS 평균 0.2 / INP 평균 40)

ν΄λ¦°μ•„ν‚€ν…μ²˜λ₯Ό λ„μž…ν–ˆμŠ΅λ‹ˆλ‹€. 1. λ°±μ—”λ“œ μ‹œμŠ€ν…œμ—μ„œ λ§Žμ€ μ˜€ν”ˆμ†ŒμŠ€λ₯Ό μ‚¬μš©ν•΄μ•Όν•˜λŠ” λ¬Έμ œκ°€ μžˆμ–΄ μ–΄λŒ‘ν„°λ‘œ κ²ŒμΈ΅μ„ μΆ”μƒν™”ν–ˆμŠ΅λ‹ˆλ‹€. 2. λͺ¨μž„ 톡μž₯μ΄λΌλŠ” λ³΅μž‘ν•œ λ„λ©”μΈμ˜ λΉ„μ¦ˆλ‹ˆλ‘œμ§μ— μ§‘μ€‘ν•˜κΈ° μœ„ν•΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 둜직과 λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ λΆ„λ¦¬ν–ˆμŠ΅λ‹ˆλ‹€.

AI 기반 일정 생성 νŒŒμ΄ν”„λΌμΈμ„ μ„€κ³„ν–ˆμŠ΅λ‹ˆλ‹€. api μ„œλ²„κ°€ LLM, 넀이버 검색을 λͺ¨λ‘ λ‹΄λ‹Ήν•˜λ©΄ 뢀담이 많이 λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ LLM λͺ¨λ“ˆμ€ Next JS의 μ„œλ²„ μ‚¬μ΄λ“œμ— , 검색 APIλŠ” api에 μ±…μž„μ„ μœ„μž„ν•˜μ—¬ νŒŒμ΄ν”„λΌμΈμ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

거래 μ‹œμŠ€ν…œμ„ κ΅¬ν˜„ν•˜κΈ°μœ„ν•΄ 금육 κ²°μž¬μ› API의 μš”μ²­ 및 응닡을 κ·ΈλŒ€λ‘œ λͺ©ν‚Ήν–ˆμŠ΅λ‹ˆλ‹€. fast apiλ₯Ό 기반으둜 μ„œλ²„λ₯Ό κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ ν•˜λ‚˜μ€ν–‰ μ‹€μ œ κ³„μ •κ³„μ™€μ˜ μš”μ²­/응닡에 λ³€κ²½κ°€λŠ₯성을 κ³ λ €ν•΄ api μ„œλ²„μ™€ ν•΄λ‹Ή 계정계 μ„œλ²„λŠ” λŠμŠ¨ν•œ 결합을 도λͺ¨ν–ˆμŠ΅λ‹ˆλ‹€.

πŸ’» Tech Stack

πŸ› οΈ Backend

JAVASpring BootPythonFast APIJPASpring SequrityJUnit

πŸ“± Frontend

TypescriptReactNext JStailwind cssStoryBook

☁️ Infra

GPTNaver API (Map Search)coolSMSFirebaseRedisPostgresqlAWS EC2Route53S3NginxLets Encrypt

μ£Όμš” κΈ°λŠ₯

μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜μž…λ‹ˆλ‹€.

AI 일정 생성 νŒŒμ΄ν”„λΌμΈ μž…λ‹ˆλ‹€.

νšŒμ›κ°€μž…μ‹œ SMS 인증, κ³„μ’Œ 인증을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

λ©”μΈν™”λ©΄μž…λ‹ˆλ‹€. μƒλ‹¨μ—λŠ” μžμ‹ μ˜ λͺ¨μž„ 톡μž₯을 선택할 수 μžˆμŠ΅λ‹ˆλ‹€. 상단에 μ„ νƒλœ λͺ¨μž„톡μž₯을 λ°”νƒ•μœΌλ‘œ 메뉴λ₯Ό 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.

κ±°λž˜λ‚΄μ—­μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

νšŒλΉ„ μž…κΈˆ ν˜„ν™©κ³Ό, νšŒλΉ„, λͺ¨μž„ 멀버λ₯Ό μ΄ˆλŒ€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨μž„ 일정을 μƒμ„±ν•©λ‹ˆλ‹€. (제λͺ©/κΈ°κ°„/λͺ©μ /μ§€μ—­&μž₯μ†Œ/참여인원)

λͺ¨μž„ 일정 λ¦¬μŠ€νŠΈμ—μ„œ μƒμ„±λœ λͺ¨μž„ 일정을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

ν”„λ‘¬ν”„νŠΈ 및 μŒμ„± 인식 ν˜•νƒœλ‘œ AI 일정을 μƒμ„±ν•©λ‹ˆλ‹€. μŒμ„± 인식 ν•œ κ²°κ³Όκ°€ ν”„λ‘¬ν”„νŠΈ 창에 ν…μŠ€νŠΈλ‘œ μž…λ ₯되며 잘λͺ» μž…λ ₯ν•  경우 μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ§€λ‚œ 좔얡은 λͺ¨μž„ 일정이 μ§€λ‚˜λ©΄ μžλ™μœΌλ‘œ μƒμ„±λ©λ‹ˆλ‹€. κ·Έ λ‚  μ‚¬μš©ν•œ κ±°λž˜λ‚΄μ—­μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.(영수증) λ˜ν•œ 사진을 올렀 λͺ¨μž„ 멀버듀과 κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨μž„ κ²°μ‚° νƒ­μ—μ„œ 뢄기별 데이터λ₯Ό μ •λ¦¬ν•œ λ‚΄μš©μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.