A comprehensive, scalable ERP system for managing a chain of schools in India, with ERPNext integration capabilities.
- Microservices Architecture: Modular services for scalability
- ERPNext Integration: Seamless integration with ERPNext for existing modules
- Optimized Database: PostgreSQL with proper indexing and query optimization
- Caching Layer: Redis for performance
- API Gateway: Centralized API routing and authentication
- Student Information System (SIS)
- Admission Management
- Fee Management
- Attendance Management
- Exam/Assessment Management
- Timetable Management
- Library Management
- Inventory Management
- HR & Payroll
- Transport Management
- Communication & Notifications
- Reports & Analytics
- Frontend: React 18 + TypeScript + Vite (Mobile-First, AI-Powered)
- Backend: Node.js + TypeScript + Express (Microservices)
- Database: PostgreSQL (optimized for scale)
- Cache: Redis
- Message Queue: RabbitMQ (for async processing)
- Containerization: Docker & Docker Compose
- Integration: ERPNext API Client (Optional)
- Node.js 18+
- Docker & Docker Compose
- PostgreSQL 14+
- Redis 7+
# Install root dependencies
sudo npm install
# Install workspace dependencies
sudo npm install --workspaces
# Start services with Docker
docker-compose up -d
# Run database migrations
npm run migrate
# Start backend services
npm run dev
# In another terminal, start frontend
cd web
sudo npm install
npm run devThe web app will be available at http://localhost:5173
erp/
├── web/ # Frontend web application (React + TypeScript)
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API services
│ │ └── stores/ # State management
│ └── package.json
├── services/ # Microservices
│ ├── api-gateway/ # API Gateway service
│ ├── auth/ # Authentication service
│ ├── student/ # Student management
│ ├── fees/ # Fee management
│ ├── attendance/ # Attendance tracking
│ ├── exam/ # Exam management
│ └── ...
├── shared/ # Shared utilities
│ ├── database/ # DB connection & models
│ ├── erpnext/ # ERPNext integration (optional)
│ └── utils/ # Common utilities
├── docker-compose.yml # Docker configuration
└── package.json
The system can optionally integrate with ERPNext for advanced modules like:
- Accounting & Finance
- Inventory Management
- HR & Payroll
- CRM
Note: ERPNext integration is optional. The system works independently with all core modules built-in. ERPNext is only needed if you want to use its advanced accounting or inventory features.
See ERPNEXT_INTEGRATION.md for integration details.
- Proper indexing on frequently queried fields
- Connection pooling
- Query optimization
- Read replicas for scaling
- Partitioning for large tables
MIT