A production-style Industrial Quality Control application designed for laboratory and manufacturing environments. The application provides dynamic data entry forms, report generation, authentication, and a scalable configuration-driven architecture integrated with PI System concepts.
- Config-driven QC forms
- Generic form engine
- Generic report engine
- Dynamic dropdown hierarchy
- Authentication and authorization
- Date/time based read and write workflows
- Reusable React hooks
- Modular frontend and backend architecture
- PI Web API integration structure
- Scalable configuration-driven design
- Clean industrial-style user interface
- React
- Vite
- Tailwind CSS
- React Hooks
- Node.js
- Express.js
- PI Web API
- AF Hierarchy
- WebId-based configuration
Form Config
↓
Generic Form Engine
↓
Reusable Hook
↓
API Layer
↓
Express Backend
↓
PI Web API
This architecture allows new forms to be added through configuration rather than rewriting application logic.
-
GenericQcForm- Renders all quality control data entry forms
-
GenericReportForm- Renders report screens and tables
-
useQcParameterForm- Handles form state
- Dropdown dependencies
- Read/write operations
- Highlight logic
-
useQcReport- Handles report filtering
- Data fetching
- Report state management
-
qc.api.js- Frontend API communication layer
-
server.js- Express server
- API endpoints
- Authentication
- PI communication
-
qcForms.js- Form registry
- Root configuration
- Form definitions
- Physics
- Chemistry
- Physical Strength
- Raw Material Data Entry
- Remarks Entry
- X-Ray Set Points
- Physics Set Points
- Burnability Report
- Input Materials Report
- Titr Moisture Report
cd backend
npm install
node server.jscd frontend
npm install
npm run devSensitive values are intentionally excluded from the repository.
Use the provided .env.example file as a template.
Example:
PIWEBAPI_URL=https://your-pi-server/piwebapi
PIWEBAPI_USER=your_username
PIWEBAPI_PASS=your_password
CHEMISTRY_ELEMENT_WEBID=your_webid
PHYSICS_ELEMENT_WEBID=your_webid
AUTH_TOKEN_SECRET=your_secret
PORT=5000To connect the application with a real PI System:
- Create PI AF Elements and Attributes.
- Configure root WebIds in the environment file.
- Ensure parameter keys match AF Attribute names.
- Start the backend and frontend services.
- Read and write values through the configured hierarchy.
- Configuration-driven architecture
- Reusable form engine
- Reusable report engine
- Dynamic dropdown dependencies
- Scalable form registration system
- Authentication workflow
- Industrial automation integration concepts
- Clean separation of concerns
- Production-oriented project structure
This project demonstrates modern full-stack development practices while solving real-world industrial quality control workflows.
Key focuses include:
- Scalability
- Maintainability
- Reusability
- Clean architecture
- Modular design
- Long-term extensibility
Abdullah Khan
MERN Developer
Industrial Automation & Quality Control Systems



