Intial Version
This commit is contained in:
55
.kiro/steering/tech.md
Normal file
55
.kiro/steering/tech.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Technology Stack
|
||||
|
||||
## Backend
|
||||
|
||||
- **Language**: TypeScript (Node.js)
|
||||
- **Framework**: Fastify
|
||||
- **Scraping**: Playwright (headless Chromium)
|
||||
- **Database**: PostgreSQL + TimescaleDB extension
|
||||
- **ORM**: Prisma or Drizzle
|
||||
- **Job Scheduling**: Node Scheduler or BullMQ
|
||||
- **WebSockets**: Native `ws` or Fastify WS plugin
|
||||
- **Deployment**: Docker containers
|
||||
|
||||
## Frontend (Electron Desktop App)
|
||||
|
||||
- **Framework**: Electron 30+
|
||||
- **UI Library**: NextJS? + TypeScript/TSX
|
||||
- **Build Tool**: Vite
|
||||
- **Styling**: TailwindCSS
|
||||
- **Charts**: Recharts, ECharts, or TradingView Charting Library
|
||||
- **State Management**: Zustand or Recoil
|
||||
- **Auto-updates**: electron-updater
|
||||
|
||||
## Testing
|
||||
|
||||
- **Unit Tests**: Jest
|
||||
- **E2E Tests**: Playwright
|
||||
- **API Integration**: Supertest or Pact
|
||||
|
||||
## Common Commands
|
||||
|
||||
```bash
|
||||
# Backend
|
||||
npm run dev # Start development server
|
||||
npm run build # Build TypeScript
|
||||
npm run test # Run Jest tests
|
||||
npm run scrape # Manual scrape trigger
|
||||
|
||||
# Frontend (Electron)
|
||||
npm run dev # Start Electron in dev mode
|
||||
npm run build # Build production app
|
||||
npm run package # Package for distribution
|
||||
npm run test # Run tests
|
||||
|
||||
# Database
|
||||
npm run migrate # Run database migrations
|
||||
npm run seed # Seed initial data
|
||||
```
|
||||
|
||||
## Performance Requirements
|
||||
|
||||
- API latency < 50ms for standard queries
|
||||
- Support 5000+ concurrent WebSocket connections
|
||||
- Desktop app must handle 50k+ chart datapoints smoothly
|
||||
- Scraping frequency: every 5 minutes (configurable)
|
||||
Reference in New Issue
Block a user