TruEstate Retail Sales Management System - Backend API
High-performance Node.js/Express backend with PostgreSQL, Prisma ORM, and schema-based sharding. Handles 500,000+ transaction records with chunk-based caching and parallel shard queries.
- Node.js, Express.js
- PostgreSQL with Prisma ORM
- Schema-based Range Sharding (shard_2021, shard_2022, shard_2023)
- Chunk-based caching (1500 records per chunk)
GET /api/health- Health checkGET /api/sales- Get paginated sales dataGET /api/sales/filters- Get filter optionsGET /api/sales/stats- Get summary statistics
DATABASE_URL=your_postgresql_connection_string
PORT=3001
NODE_ENV=production
- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env
# Edit .env with your DATABASE_URL- Generate Prisma client:
npm run prisma:generate- Push database schema:
npx prisma db push- Start server:
npm start
# or for development
npm run dev-
Connect Repository: Connect your GitHub repository
DevXSoni021/TS_backendto Render -
Create Web Service:
- Service Type: Web Service
- Build Command:
npm install && npm run prisma:generate - Start Command:
npm start
-
Environment Variables:
DATABASE_URL: Your PostgreSQL connection stringPORT: 3001 (or let Render assign)NODE_ENV: production
-
Database Setup:
- Run
npm run db:clearto create schemas - Run
npx prisma db pushto create tables - Run
npm run import:shardedto import data
- Run
npm start- Start production servernpm run dev- Start development server with nodemonnpm run prisma:generate- Generate Prisma clientnpm run prisma:migrate- Run database migrationsnpm run db:clear- Clear database and create sharded schemasnpm run import:sharded- Import CSV data with sharding