A comprehensive Enterprise Resource Planning (ERP) System built to streamline and manage business operations. This application provides robust features for managing customers, vendors, products, invoices, quotations, purchase orders, work orders, and financial data.
- Authentication & Authorization: Secure login and user management.
- Dashboard & Analytics: Visualize sales, inventory, and business metrics using interactive charts.
- Customer & Vendor Management: Maintain records of clients and suppliers.
- Inventory & Product Management: Track products, categories, and product units.
- Sales & Invoicing: Create and manage quotations, proforma invoices, and final invoices. Generate and export PDF invoices.
- Purchasing: Manage purchase orders effectively.
- Work Orders: Track and manage production or service work orders.
- Financial & Tax Settings: Configure financial years and tax rates seamlessly.
- React.js (v18)
- Redux Toolkit (State Management)
- Material-UI (MUI) (Component Library & Icons)
- Recharts (Data Visualization)
- jsPDF & jsPDF-AutoTable (PDF Generation)
- Axios (API Requests)
- Node.js & Express.js (REST API)
- MySQL2 (Database Driver)
- bcryptjs (Password Hashing)
- Multer (File Uploads)
- MySQL 8.0
- Docker & Docker Compose (Containerization)
- Docker and Docker Compose installed on your system.
-
Clone the repository:
git clone <repository_url> cd ERP-Software
-
Start the application using Docker Compose:
docker-compose up -d --build
This command will spin up three containers:
erp_mysql3(Database on port 3307)erp_backend3(API on port 5000)erp_frontend3(React App on port 80)
-
Database Initialization: The database tables and initial schema are automatically set up using the init scripts mounted in the MySQL container. You can also run
setup_db.pyto initialize the database setup script. -
Access the application:
- Frontend: http://localhost (or port 80)
- Backend API: http://localhost:5000
If you wish to run the project locally without Docker:
- Navigate to the
Backenddirectory:cd Backend - Install dependencies:
npm install - Configure your MySQL database and update the database configuration in
config/db.jsor via environment variables. - Start the server:
npm run dev
- Navigate to the
frontdirectory:cd front - Install dependencies:
npm install - Start the React app:
npm start