portfolio

๐Ÿ“ J2S2 API: Personal Insight & Diary Platform

๊ฐœ์ธ ํฌํŠธํด๋ฆฌ์˜ค์šฉ ์ •๋ฆฌ > ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„: 2026.01.20 ~ 2026.01.23 (4์ผ)
์ฃผ์š” ์—ญํ• : ๋ฐฑ์—”๋“œ ์ธํ”„๋ผ ๊ตฌ์ถ•, ์ธ์ฆ ์‹œ์Šคํ…œ ๊ตฌํ˜„, ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ์Šคํฌ๋ž˜ํ•‘ ์—”์ง„ ๊ฐœ๋ฐœ


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

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


๐Ÿ›  ๋‹ด๋‹น ๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ์—ญํ• 

1. ์ธํ”„๋ผ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (Infrastructure & DB)

2. ๋ณด์•ˆ ๋ฐ ์ธ์ฆ (Security & Auth)

3. ๋ฐ์ดํ„ฐ ์„œ๋น„์Šค (Data Service & Scraping)

4. ๋ถ๋งˆํฌ ์‹œ์Šคํ…œ (Bookmark System)


๐Ÿ— ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์— ์ตœ์ ํ™”๋œ Layered Architecture๋ฅผ ์ฑ„ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

```text app/ โ”œโ”€โ”€ core/ # JWT ์„ค์ •, ์•”ํ˜ธํ™” ๋ณด์•ˆ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ (๋‹ด๋‹น) โ”œโ”€โ”€ db/ # DB ์—ฐ๊ฒฐ ๋ฐ ์ดˆ๊ธฐํ™” (๋‹ด๋‹น) โ”œโ”€โ”€ models/ # DB ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ ์ •์˜ (๋‹ด๋‹น) โ”œโ”€โ”€ repositories/ # ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ณ„์ธต (๋‹ด๋‹น - ๋ถ๋งˆํฌ, ๋žœ๋ค ์กฐํšŒ ๋“ฑ) โ”œโ”€โ”€ routers/ # API ์—”๋“œํฌ์ธํŠธ ์ •์˜ โ”œโ”€โ”€ schemas/ # Pydantic ๋ฐ์ดํ„ฐ ๋ชจ๋ธ (DTO) โ”œโ”€โ”€ services/ # ๋ช…์–ธ ์Šคํฌ๋ž˜ํ•‘ ๋น„์ฆˆ๋‹ˆ์Šค ๋ ˆ์ด์–ด (๋‹ด๋‹น) โ””โ”€โ”€ templates/ # HTML ํ…œํ”Œ๋ฆฟ