Welcome to ManageX
Complete Business Management System Documentation
About ManageX
ManageX is a comprehensive business management platform that integrates multiple business operations into a unified system. Built with modern web technologies, it provides organizations with a centralized solution for managing customers, sales, projects, inventory, and more.
The application combines operational workflows with analytics and reporting capabilities, enabling teams to streamline business processes, track performance, and make data-driven decisions.
- Business teams can manage customer relationships, sales processes, and project workflows from a single dashboard.
- Managers can track KPIs, analyze business metrics, and monitor team performance across all modules.
- Administrators can configure organizations, roles, permissions, and system settings to fit their business needs.
Core Modules
- CRM (Customer Relationship Management): Manage leads, clients, contacts, and customer interactions with comprehensive tracking and communication tools.
- Sales Management: Handle quotes, invoices, sales orders, and payment tracking with automated workflows and reporting.
- POS (Point of Sale): Complete retail checkout system with inventory integration, payment processing, and receipt generation.
- Project Management: Track projects, tasks, timelines, budgets, and team collaboration with time tracking and reporting features.
- Inventory Management: Monitor stock levels, manage warehouses, track movements, and maintain product catalogs with real-time updates.
- Messaging & Communication: Internal messaging system for team collaboration and customer communication.
- Reporting & Analytics: Comprehensive dashboards, business intelligence, and customizable reports across all modules.
- User & Role Management: Secure access control, role-based permissions, and organizational structure management.
System Requirements
- Node.js: Version 16 or higher (recommended Node 18+) plus npm 8+
- MySQL: Version 8.0+ (minimum 5.7) with a user that can create databases, tables, and triggers
- Developer Tools: Git for version control and a terminal with Bash or PowerShell
- RAM: Minimum 4GB (8GB recommended for running client and server simultaneously)
- Storage: At least 2GB free space for dependencies, database files, and build artifacts
- Operating System: Windows 10+, macOS 10.15+, or Linux (Ubuntu 20.04+)
Frontend
EJS templating engine
Bootstrap for responsive UI
JavaScript with modern ES6+ features
Backend
Node.js (Express 4) REST API
Sequelize ORM with MySQL2 driver
JWT authentication, session management
Data & Validation
MySQL schema with migrations
Joi for request validation
Database seeders for initial data
Features
Multi-module architecture
Role-based access control
File uploads with Multer
Quick Start Guide
- Install system prerequisites (Node.js 16+, npm 8+, Git, and MySQL 8+) if they are not already available.
- Clone or download the ManageX repository and open the project in your preferred editor.
- Start MySQL and create an empty database to match your desired
DB_NAME(check your configuration for the default database name). - Navigate to the
serverdirectory and runnpm installto install backend dependencies. - Create
server/.envwith values such asDB_HOST,DB_PORT,DB_NAME,DB_USERNAME,DB_PASSWORD,JWT_SECRET, and other required environment variables.
Example .env File
# NODE Configuration PORT=3000 NODE_ENV=development # Database Configuration DB_HOST=localhost DB_NAME=managex_db DB_USERNAME=root DB_PASSWORD=your_password DB_DIALECT=mysql # JWT Configuration JWT_SECRET=your-super-secret-jwt-key-change-in-production JWT_REFRESH_SECRET=your-refresh-secret-key-change-in-production JWT_EXPIRES_IN=24h JWT_REFRESH_EXPIRES_IN=7d # Demo Mode Configuration IS_DEMO=0
- Run
npm run db:migrateto apply Sequelize migrations and create the database schema. - Run seeders to bootstrap roles, users, and initial configuration data. Use
npm run demowhich respects theIS_DEMOsetting in your.envfile (see IS_DEMO Configuration section below for details). - Launch the backend server with
npm run dev; the application listens on the configured port (defaulthttp://localhost:3000). - Open your browser and navigate to the application URL to access the ManageX system.
- Sign in with the seeded admin credentials (check seeders for default credentials), then configure your organization, users, and settings as needed.
IS_DEMO Configuration
The IS_DEMO environment variable controls whether demo seeders are executed during
database seeding. This allows you to choose between a production-ready setup or a demo environment
with sample data.
IS_DEMO=0 (Non-Demo Mode - Recommended for Production)
When IS_DEMO=0, the system will only run seeders that do not have
"demo" in their filename. This includes:
- Core organization setup
- Role and permission configurations
- Essential system settings
- Admin user creation
Demo seeders are skipped: This means no sample clients, leads, projects, quotes, invoices, or other demo data will be created. This is the recommended setting for production deployments.
To run seeders in non-demo mode, set IS_DEMO=0 in your server/.env file and
run:
npm run demo
This will execute only the non-demo seeders, skipping all seeders with "demo" in their filename.
IS_DEMO=1 (Demo Mode - For Testing/Development)
When IS_DEMO=1, the system will run all seeders, including those with
"demo" in their filename. This creates a fully populated demo environment with:
- Sample clients and contacts
- Demo leads and follow-ups
- Example projects and tasks
- Sample quotes and invoices
- Demo inventory items and stock movements
- Chat channels and messages
- Additional demo users with various roles
This mode is useful for testing, demonstrations, or development environments where you need sample data to work with.
To run all seeders including demo data, set IS_DEMO=1 in your server/.env
file and run:
npm run demo
Important: The npm run demo command uses the
server/bin/demo.js script which automatically reads the IS_DEMO value from
your .env file and runs the appropriate seeders accordingly. Always ensure your
IS_DEMO value is set correctly before running the command.
Summary:
IS_DEMO=0→ Runs only non-demo seeders (production-ready setup)IS_DEMO=1→ Runs all seeders including demo data (full demo environment)
Windows Setup
Complete installation guide for Windows 10/11 systems with step-by-step instructions
View Windows GuideLinux Setup
Detailed setup instructions for Ubuntu, CentOS, and other Linux distributions
View Linux Guide