Skip to content

Imagine-Choi/ValueScope

Repository files navigation

๐Ÿ“ˆ ValueScope - ๋ฏธ๊ตญ ์ €ํ‰๊ฐ€ ์šฐ๋Ÿ‰์ฃผ ์Šคํฌ๋ฆฌ๋„ˆ

์†Œ์•ก์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฏธ๊ตญ ์ฃผ์‹ ๊ฐ€์น˜ํˆฌ์ž ํ”Œ๋žซํผ

ValueScope๋Š” ์ดˆ๋ณด ํˆฌ์ž์ž๋ฅผ ์œ„ํ•œ ๋ฏธ๊ตญ ์ฃผ์‹ ๊ฐ€์น˜ํˆฌ์ž ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ์ €ํ‰๊ฐ€๋œ ์šฐ๋Ÿ‰์ฃผ๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ๊ณ , ์†Œ์•ก์œผ๋กœ ๋ถ„์‚ฐ ํˆฌ์ž ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Next.js TypeScript Tailwind CSS License

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

๐ŸŽฏ 1. ์ข…๋ชฉ ์Šคํฌ๋ฆฌ๋„ˆ

  • ๋ฐธ๋ฅ˜ ์ง€ํ‘œ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง: P/E, P/B, ๋ฐฐ๋‹น์ˆ˜์ต๋ฅ , ์‹œ๊ฐ€์ด์•ก ๋“ฑ
  • ์‹ค์‹œ๊ฐ„ ์ •๋ ฌ: ValueScope ์ ์ˆ˜, P/E, ๋ฐฐ๋‹น๋ฅ  ๊ธฐ์ค€
  • ์ƒ์„ธ ์ •๋ณด: ๊ฐ ์ข…๋ชฉ์˜ ์žฌ๋ฌด ์ง€ํ‘œ์™€ ์„ฑ๊ณผ

๐Ÿ’ผ 2. ํฌํŠธํด๋ฆฌ์˜ค ๋นŒ๋”

  • ์†Œ์•ก ๋ถ„์‚ฐ ํˆฌ์ž ์‹œ๋ฎฌ๋ ˆ์ด์…˜: $100๋ถ€ํ„ฐ ์‹œ์ž‘ ๊ฐ€๋Šฅ
  • ์Šค๋งˆํŠธ ์ž์‚ฐ ๋ฐฐ๋ถ„: ๋น„์ค‘ ์กฐ์ • ๋ฐ ์‹ค์‹œ๊ฐ„ ๊ณ„์‚ฐ
  • ํˆฌ์ž ๊ฒฐ๊ณผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ: ์ฃผ์‹ ์ˆ˜, ์‹ค์ œ ํˆฌ์ž๊ธˆ, ๋‚จ์€ ๊ธˆ์•ก

๐Ÿ“š 3. ํˆฌ์ž ๊ฐ€์ด๋“œ

  • ์ดˆ๋ณด์ž ์นœํ™”์  ๊ต์œก ์ฝ˜ํ…์ธ : P/E, ๋ฐฐ๋‹น, ๋ถ„์‚ฐํˆฌ์ž, ๊ฐ€์น˜ํˆฌ์ž ๋“ฑ
  • ์‹ค์ „ ์˜ˆ์‹œ: ๊ฐ ๊ฐœ๋…์„ ์‹ค์ œ ์ข…๋ชฉ์œผ๋กœ ์„ค๋ช…
  • ๋‹จ๊ณ„๋ณ„ ๊ฐ€์ด๋“œ: 3๋‹จ๊ณ„๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ€์น˜ํˆฌ์ž

๐ŸŽจ 4. ํŠธ๋ Œ๋””ํ•œ UI/UX

  • ๊น”๋”ํ•˜๊ณ  ํ˜„๋Œ€์ ์ธ ๋””์ž์ธ: shadcn/ui ์ปดํฌ๋„ŒํŠธ
  • ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ: ๋ชจ๋ฐ”์ผยทํƒœ๋ธ”๋ฆฟยท๋ฐ์Šคํฌํ†ฑ ์ตœ์ ํ™”
  • ์ง๊ด€์ ์ธ ๋„ค๋น„๊ฒŒ์ด์…˜: ์ดˆ๋ณด์ž๋„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ

  • Node.js 18+
  • npm ๋˜๋Š” yarn

์„ค์น˜ ๋ฐ ์‹คํ–‰

# 1. ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/yourusername/valuescope.git
cd valuescope

# 2. ์˜์กด์„ฑ ์„ค์น˜
npm install

# 3. ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰
npm run dev

# 4. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๊ธฐ
# http://localhost:3000

ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ

# ๋นŒ๋“œ
npm run build

# ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„ ์‹คํ–‰
npm start

๐Ÿ—๏ธ ๊ธฐ์ˆ  ์Šคํƒ

Frontend

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS 4.0
  • UI Components: shadcn/ui
  • State Management: React Query (@tanstack/react-query)
  • Charts: Recharts
  • Icons: Lucide React

Backend (ํ–ฅํ›„ ๊ตฌํ˜„)

  • API: Next.js API Routes
  • Database: PostgreSQL (Vercel Postgres ๋˜๋Š” Supabase)
  • Caching: Redis
  • Data Source: Yahoo Finance API (yfinance)

Deployment

  • Platform: Vercel (๊ถŒ์žฅ)
  • CI/CD: GitHub Actions (์„ ํƒ)

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

valuescope/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ app/                      # Next.js App Router
โ”‚   โ”‚   โ”œโ”€โ”€ page.tsx              # ๋ฉ”์ธ ํŽ˜์ด์ง€
โ”‚   โ”‚   โ”œโ”€โ”€ layout.tsx            # ๋ฃจํŠธ ๋ ˆ์ด์•„์›ƒ
โ”‚   โ”‚   โ”œโ”€โ”€ screener/             # ์ข…๋ชฉ ์Šคํฌ๋ฆฌ๋„ˆ ํŽ˜์ด์ง€
โ”‚   โ”‚   โ”œโ”€โ”€ portfolio/            # ํฌํŠธํด๋ฆฌ์˜ค ๋นŒ๋” ํŽ˜์ด์ง€
โ”‚   โ”‚   โ”œโ”€โ”€ learn/                # ํˆฌ์ž ๊ฐ€์ด๋“œ ํŽ˜์ด์ง€
โ”‚   โ”‚   โ”œโ”€โ”€ stock/[ticker]/       # ๊ฐœ๋ณ„ ์ข…๋ชฉ ์ƒ์„ธ ํŽ˜์ด์ง€
โ”‚   โ”‚   โ””โ”€โ”€ api/                  # API Routes
โ”‚   โ”œโ”€โ”€ components/               # React ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”‚   โ”œโ”€โ”€ home/                 # ํ™ˆ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”‚   โ”œโ”€โ”€ screener/             # ์Šคํฌ๋ฆฌ๋„ˆ ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”‚   โ”œโ”€โ”€ portfolio/            # ํฌํŠธํด๋ฆฌ์˜ค ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”‚   โ”œโ”€โ”€ layout/               # ๋ ˆ์ด์•„์›ƒ ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”‚   โ””โ”€โ”€ ui/                   # shadcn/ui ์ปดํฌ๋„ŒํŠธ
โ”‚   โ””โ”€โ”€ lib/                      # ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฐ ์„ค์ •
โ”‚       โ”œโ”€โ”€ utils.ts              # ๊ณตํ†ต ์œ ํ‹ธ๋ฆฌํ‹ฐ
โ”‚       โ””โ”€โ”€ data/                 # ๋ฐ์ดํ„ฐ ๋กœ์ง
โ”œโ”€โ”€ public/                       # ์ •์  ํŒŒ์ผ
โ””โ”€โ”€ README.md

๐ŸŽ“ ์ฃผ์š” ํŽ˜์ด์ง€

1. ๋ฉ”์ธ ํŽ˜์ด์ง€ (/)

  • ํžˆ์–ด๋กœ ์„น์…˜: ์„œ๋น„์Šค ์†Œ๊ฐœ ๋ฐ CTA
  • ๊ต์œก ๋ฐฐ๋„ˆ: ๋ฏธ๊ตญ ์ฃผ์‹ ๊ธฐ์ดˆ ๊ฐ€์ด๋“œ (P/E, ๋ฐฐ๋‹น, ๋ถ„์‚ฐ, ๊ฐ€์น˜ํˆฌ์ž)
  • ๋น ๋ฅธ ์‹œ์ž‘: ํฌํŠธํด๋ฆฌ์˜ค ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ
  • ์˜ค๋Š˜์˜ TOP 5: ์ €ํ‰๊ฐ€ ์šฐ๋Ÿ‰์ฃผ ์ถ”์ฒœ
  • 3๋‹จ๊ณ„ ๊ฐ€์ด๋“œ: ์„œ๋น„์Šค ์‚ฌ์šฉ๋ฒ•

2. ์ข…๋ชฉ ์Šคํฌ๋ฆฌ๋„ˆ (/screener)

  • ํ•„ํ„ฐ: P/E ์ตœ๋Œ€๊ฐ’, ๋ฐฐ๋‹น์ˆ˜์ต๋ฅ  ์ตœ์†Œ๊ฐ’
  • ์ •๋ ฌ: ValueScope ์ ์ˆ˜, P/E, ๋ฐฐ๋‹น๋ฅ 
  • ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”: ํ‹ฐ์ปค, ํšŒ์‚ฌ๋ช…, ๊ฐ€๊ฒฉ, ์žฌ๋ฌด์ง€ํ‘œ, ์ ์ˆ˜

3. ํฌํŠธํด๋ฆฌ์˜ค ๋นŒ๋” (/portfolio)

  • ์˜ˆ์‚ฐ ์„ค์ •
  • ์ข…๋ชฉ ์ถ”๊ฐ€/์ œ๊ฑฐ
  • ๋น„์ค‘ ์กฐ์ • (ํ•ฉ๊ณ„ 100%)
  • ์‹ค์‹œ๊ฐ„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฒฐ๊ณผ

4. ํˆฌ์ž ๊ฐ€์ด๋“œ (/learn)

  • P/E ๋น„์œจ, P/B ๋น„์œจ
  • ๋ฐฐ๋‹น ํˆฌ์ž ์ „๋žต
  • ํฌํŠธํด๋ฆฌ์˜ค ๋ถ„์‚ฐ
  • ๊ฐ€์น˜ํˆฌ์ž ์›์น™
  • ์ดˆ๋ณด์ž ์ฒดํฌ๋ฆฌ์ŠคํŠธ

๐Ÿ”ฎ ํ–ฅํ›„ ๊ฐœ๋ฐœ ๊ณ„ํš

Phase 1: ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ (ํ˜„์žฌ Mock ๋ฐ์ดํ„ฐ)

  • Yahoo Finance API ์—ฐ๋™
  • ์‹ค์‹œ๊ฐ„ ์ฃผ๊ฐ€ ๋ฐ์ดํ„ฐ
  • ์žฌ๋ฌด์ œํ‘œ ์ž๋™ ์ˆ˜์ง‘
  • PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •

Phase 2: ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ

  • ๊ฐœ๋ณ„ ์ข…๋ชฉ ์ƒ์„ธ ํŽ˜์ด์ง€ (์ฐจํŠธ, ๋‰ด์Šค, ์žฌ๋ฌด์ œํ‘œ)
  • ํฌํŠธํด๋ฆฌ์˜ค ์ €์žฅ ๋ฐ ์ถ”์ 
  • ๋ฐฑํ…Œ์ŠคํŒ… ๊ธฐ๋Šฅ
  • ์•Œ๋ฆผ ์„ค์ • (๊ฐ€๊ฒฉ ์•Œ๋ฆผ, ๋ฐฐ๋‹น ์ผ์ •)

Phase 3: ์‚ฌ์šฉ์ž ๊ธฐ๋Šฅ

  • ํšŒ์› ๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ (NextAuth.js)
  • ๊ด€์‹ฌ ์ข…๋ชฉ ๋ฆฌ์ŠคํŠธ
  • ํฌํŠธํด๋ฆฌ์˜ค ํžˆ์Šคํ† ๋ฆฌ
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ

Phase 4: AI ๋ฐ ๊ณ ๋„ํ™”

  • AI ๊ธฐ๋ฐ˜ ์ข…๋ชฉ ์ถ”์ฒœ
  • ๋‰ด์Šค ๊ฐ์„ฑ ๋ถ„์„
  • ์ž๋™ ๋ฆฌ๋ฐธ๋Ÿฐ์‹ฑ ์ œ์•ˆ
  • ๋งž์ถคํ˜• ํˆฌ์ž ์ „๋žต

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

๊ธฐ์—ฌ๋Š” ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ๋‹ค์Œ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ผ์ฃผ์„ธ์š”:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

โš ๏ธ ๋ฉด์ฑ… ์กฐํ•ญ

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


Made with โค๏ธ for beginner investors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published