This project consists of two main components:
- Production Line Control System: Real-time monitoring and control for manufacturing operations
- Production Line Performance Analysis: Historical data analysis with anomaly detection
This system provides a comprehensive solution for manufacturing environments, combining:
- Real-time production monitoring and control
- Historical data analysis for quality improvement
- Anomaly detection to identify potential issues
- Performance visualization and reporting
Check out the demo video to see the system in action:
A real-time dashboard for monitoring and controlling manufacturing operations:
- Live sensor data visualization
- Order management and tracking
- Production scheduling
- Anomaly alerts
Tech Stack:
- Frontend: React with TypeScript
- Backend: C# (.NET 6+) with SignalR for real-time updates
- Database: SQL Server
Data analysis tools focused on manufacturing performance and quality improvement:
- Historical data analysis
- Pattern recognition
- Anomaly detection
- Performance reporting
Tech Stack:
- Python 3.8+
- Flask for web interface
- scikit-learn for machine learning
- Pandas for data processing
The system follows a modular architecture with these key components:
├── Production Line Control (C# + React)
│ ├── Real-time Dashboard
│ ├── Order Management
│ └── Alerts System
└── Performance Analysis (Python)
├── Data Processing
├── Anomaly Detection
└── Visualization
-
Clone the repository
git clone https://github.com/yourusername/production-line-control.git cd production-line-control -
Backend setup
cd backend/csharp/ProductionLineAPI dotnet restore dotnet run -
Frontend setup
cd frontend npm install npm start -
Open your browser to
http://localhost:1234
-
Set up Python environment
cd analysis python -m venv venv venv\Scripts\activate # On Windows source venv/bin/activate # On Unix/macOS pip install -r requirements.txt -
Download and process the dataset
The system uses the Bosch Production Line Performance dataset from Kaggle.
python src/data/download.py python src/data/preprocess.pyNote about Kaggle authentication:
- If you have a Kaggle account, place your
kaggle.jsoncredentials file in~/.kaggle/ - If you encounter authentication issues, the system will automatically create synthetic data for development
- The synthetic data mirrors the structure and statistical properties of the real dataset
- To use real data, manually download from Kaggle and place in
analysis/data/raw/
- If you have a Kaggle account, place your
-
Run the anomaly detection model
python src/models/anomaly.py -
Start the web application
python src/web/app.py -
Open your browser to
http://localhost:5050
For convenience, you can start all components using the provided startup script:
Windows:
.\startup.bat
macOS/Linux:
./startup.sh
If you encounter issues while running the system:
We've improved connection handling for SignalR:
- Added ping/pong functionality to test connectivity
- Implemented robust connection retry with exponential backoff
- Improved CORS configuration for WebSocket connections
For detailed troubleshooting steps, see our troubleshooting guide.
Quick test:
- Open your browser's developer console (F12)
- Type
window.pingSignalRServer() - You should see a "Received pong from server" message if connected
-
Port conflicts:
- The C# API uses port 5000
- The Python Analysis uses port 5050
- The React frontend uses port 1234
- If any port is already in use, modify the corresponding configuration
-
Kaggle API Authentication:
- If you encounter "403 Forbidden" errors with the Kaggle API:
- Verify your
kaggle.jsonfile has the correct permissions - Use the synthetic data generated automatically instead
- The system will detect this scenario and create realistic test data
- Verify your
- If you encounter "403 Forbidden" errors with the Kaggle API:
-
Python Environment:
- Ensure all dependencies are installed with
pip install -r requirements.txt - Python 3.8+ is required
- Ensure all dependencies are installed with
This project is licensed under the MIT License - see the LICENSE file for details.
- This project was developed as a portfolio piece for showcasing control system software engineering skills
- Inspiration drawn from real-world industrial automation systems
- Thanks to the open-source community for the tools and libraries used in this project
