FlexERP
Abstract:
FlexERP is a lightweight ERP(Enterprise Resource Planning) system primarily designed for small businesses and independent distributors. It aims to help small enterprises digitize their operations in a cost-effective and efficient way. An ERP system enables structured management of a business’s human resources, finance, inventory, and operational workflows. FlexERP will offer extensible interfaces to adapt to each enterprise’s specific products and processes, and provide a responsive and accessible web-based system that serves customers 24/7.
Author
Name: Jiaxin Cai
Student number: 48705978
Functionality:
- User & Role Management: Supports multi-user login and permission control
- Human Resource Management: Manages employee and customer records
- Order Management: Create sales orders, deduct inventory, and manage order statuses
- Inventory Management: Add and manage product stock information
- Procurement Management: Manage supplier details and purchase orders
- Reporting & Analytics: Generate data reports for both sales and purchase orders
- System Logs & Monitoring: Record key operations for maintenance and debugging
- API Integration Support: Expose core functionalities via REST APIs for integration with external systems
Scope
The Minimum Viable Product (MVP) for this project focuses on the following core modules:
- User Authentication System
- Product Inventory Management
- Real-time inventory display
- Add, update, delete, and query products
- Sales Order Management
- Create sales orders
- Automatically deduct inventory after order placement
- Basic Data Visualization
- Display inventory or order-related statistics
Quality Attributes
Extensibility
FlexERP adopts Django’s app-based modular framework. Each business module is encapsulated as an independent system, making it easy to add new modules in the future without interfering with existing functionality.
Availability
The system is deployed as a web application, with data stored on a local server. It ensures users can access the system at any time via the internal network or through a VPN. The architecture supports fast startup and ensures data security.
- Target availability: ≥ 95%
Reliability
Core business processes—such as order creation and inventory updates—are designed to ensure consistency and correctness.
- After placing an order, the inventory should update accurately and immediately.
Evaluation
Extensibility
- Test Method: Add a procurement management module during the later stages of development to verify whether it can be integrated into the existing system seamlessly.
- Success Criteria:
- The new module should not break any existing functionality.
- It should integrate smoothly with the user and product modules.
Availability
- Test Method:
- Use UptimeRobot to monitor system availability.
- Perform access testing from multiple devices and platforms.
- Success Criteria:
- ≥ 95% availability over a 7×24 period.
- Average page response time should be under 2 seconds.
Reliability
- Test Method:
- Simulate exceptions (e.g., insufficient inventory) and observe whether the system handles them properly.
- Success Criteria:
- Unit test coverage ≥ 90%.
- Error handling success rate ≥ 90%, with appropriate error messages shown to users.