eOrbitor Pulse is an enterprise-grade CRM platform for local/on-premise deployment within organizations. It manages the complete customer lifecycle through 6 SPANCO phases: Suspect → Prospect → Approach → Negotiation → Closure → Ongoing.
Deployment: Local network only (no cloud) Tech Stack: Next.js 14, Node.js 18+, PostgreSQL 15+ Target Users: Sales teams, account managers, support staff UI Philosophy: Minimalistic, professional, easy-to-use
- SUSPECT - Lead generation and capture
- PROSPECT - Lead qualification (BANT analysis)
- APPROACH - Initial customer contact
- NEGOTIATION - Quotation and proposal
- CLOSURE - Order processing and payment
- ONGOING - Post-sales support and relationship
- Lead Management (capture, scoring, qualification)
- Customer Master (company info, contacts, relationships)
- Sales Pipeline (Kanban board, deal tracking)
- Quotations (create, approve, PDF generation)
- Orders (PO processing, delivery, payment tracking)
- Tasks & Follow-ups (calendar, reminders, scheduling)
- Inventory (stock management, vendors, procurement)
- Support (ticketing, SLA tracking, resolution)
- Reports & Analytics (8+ pre-built reports)
- Settings & Admin (company config, user management, RBAC)
- Users, Leads, Customers, Contacts
- Deals, Follow-ups, Tasks
- Quotations, Orders, Products, Inventory, Vendors
- Tickets, Activity Logs, Notifications
- React 18 + Next.js 14 (App Router)
- TypeScript for type safety
- Tailwind CSS for styling (minimalistic design)
- ShadCN UI for components
- Node.js 18+ (LTS)
- Express.js via Next.js API routes
- Prisma ORM for database
- JWT authentication (internal only)
- PostgreSQL 15+ (self-hosted)
- Automated daily backups
- 7-day rolling backup retention
- Nginx (reverse proxy)
- PM2 (process manager)
- Firewall (IP restriction)
- Local file storage
- Minimalistic - Clean, uncluttered design
- Professional - Corporate appearance with logo
- Fast - Responsive, quick navigation
- Intuitive - Clear workflows following business processes
- Accessible - Easy for non-technical users
- Primary: #0066CC (Blue)
- Success: #00AA44 (Green)
- Warning: #FF9900 (Orange)
- Error: #CC0000 (Red)
- Neutral: #666666 (Gray)
eOrbitor_Pulse/
├── app/
│ ├── (auth)/ # Login, signup
│ ├── (dashboard)/ # Main app pages
│ ├── api/ # API routes
│ └── globals.css
├── components/ # Reusable React components
├── lib/ # Utilities, helpers, logger
├── prisma/ # Database schema, migrations
├── public/ # Static files, logo
├── logs/ # Chat session logs (auto-created)
├── package.json
├── tsconfig.json
├── next.config.js
├── tailwind.config.js
└── PROJECT_SPEC.md # This file
- Email: admin@company.local
- Password: password
- Role: ADMIN
Alternative test user:
- Email: sales@company.local
- Password: password
- Role: SALES_EXEC
- Node.js 18+ installed
- PostgreSQL 15+ running locally
.env.localfile configured with database credentials
npm install
npm run prisma:generate
npm run db:push # Create database schema
npm run db:seed # Seed default users
npm run dev # Start development serverAccess: http://localhost:3000
POST /api/auth/login- LoginGET /api/auth/me- Get current user
GET /api/dashboard- KPI data
GET /api/leadsPOST /api/leadsGET /api/leads/:idPATCH /api/leads/:idDELETE /api/leads/:id
All prompts and responses are automatically logged with timestamps in /logs/chat_YYYY-MM-DD.txt
Format:
[ISO_TIMESTAMP] TYPE: Content
Metadata: {...}
Types: prompt, response, data, error, system
- Keep UI minimalistic - focus on functionality
- Follow SPANCO phases in UI flows
- Always validate inputs on both frontend and backend
- Log important operations for audit trail
- Maintain responsive design (desktop priority)
Version: 1.0.0
Last Updated: 2026-05-25
Status: UI Foundation Complete - Ready for Module Development