Logo Lanfrica

Bringo2002/KEIS-Backend

Domaine:

socioeconomic

Type de record:

software
Créateur:
Bri
Hôte:
Kenya Economy Intelligent System Backend # Kenya Economy Intelligence System - Phase 2 Backend A production-ready backend for the Kenya Economy Intelligence System built with Node.js, Fastify, PostgreSQL, and Redis. ## 🚀 Quick Start ### Prerequisites - Node.js 20+ - Docker & Docker Compose - pnpm ### Setup 1. **Clone and install:** ```bash cd KIS-Backend pnpm install ``` 2. **Start infrastructure:** ```bash docker-compose up -d ``` 3. **Set up environment:** ```bash cp .env.example .env # Edit .env with your Anthropic API key ``` 4. **Initialize database:** ```bash pnpm db:generate pnpm db:migrate pnpm db:seed ``` 5. **Start development server:** ```bash pnpm dev ``` Server runs on `localhost` ## 📁 Project Structure ``` src/ ├── routes/ # API endpoints ├── services/ # Business logic & DB access ├── schemas/ # Zod validation schemas ├── types/ # TypeScript types ├── ai/ # AI layer (Claude integration) ├── scrapers/ # Data scrapers ├── queues/ # BullMQ queues & workers ├── utils/ # Utilities (logger, etc.) └── __tests__/ # Tests drizzle/ ├── schema.ts # Database schema ├── seed.ts # Seed script └── migrations/ # Auto-generated migrations ``` ## 🗄️ Database ### Schema Overview - **players**: Economic entities (companies, regulators, etc.) - **relationships**: Connections between players - **economicEvents**: News and events affecting economy - **macroIndicators**: Economic metrics (GDP, inflation, etc.) - **queryLogs**: AI query history - **scraperRuns**: Scraper execution logs ### Migrations ```bash pnpm db:generate # Create migration pnpm db:migrate # Apply migrations pnpm db:studio # Open Drizzle Studio UI ``` ## 🔄 Scrapers & Scheduling Automatic data collection: - **CBK**: Central Bank data (every 6 hours) - **NSE**: Stock market data (hourly, weekdays) - **News**: Article extraction & AI analysis (every 2 hours) - **World Bank**: Macro indicators (daily 6am EAT) Manua …