{"id":25830427,"url":"https://github.com/hsn07pk/smartconveyor-ics","last_synced_at":"2026-04-13T00:47:12.467Z","repository":{"id":276827529,"uuid":"930440246","full_name":"hsn07pk/SmartConveyor-ICS","owner":"hsn07pk","description":"A distributed ICS simulation for conveyor systems featuring Raft Consensus, Kafka messaging, and Kubernetes-based resource management. 🚀⚙️","archived":false,"fork":false,"pushed_at":"2025-02-22T16:52:57.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T17:33:40.870Z","etag":null,"topics":["ai-optimization","automation","conveyor-system","distributed-systems","edge-computing","grpc","industrial-control-systems","iot","kafka","kubernetes","predictive-maintenance","raft-consensus","real-time-simulation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hsn07pk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-10T16:31:37.000Z","updated_at":"2025-02-22T14:32:56.000Z","dependencies_parsed_at":"2025-02-10T17:37:09.817Z","dependency_job_id":"a126f04e-7bde-4a01-a5e2-c1630e1f9023","html_url":"https://github.com/hsn07pk/SmartConveyor-ICS","commit_stats":null,"previous_names":["hsn07pk/conveyer-system-simpy-distributed","hsn07pk/smartconveyor-ics"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsn07pk%2FSmartConveyor-ICS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsn07pk%2FSmartConveyor-ICS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsn07pk%2FSmartConveyor-ICS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsn07pk%2FSmartConveyor-ICS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hsn07pk","download_url":"https://codeload.github.com/hsn07pk/SmartConveyor-ICS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241210102,"owners_count":19927786,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-optimization","automation","conveyor-system","distributed-systems","edge-computing","grpc","industrial-control-systems","iot","kafka","kubernetes","predictive-maintenance","raft-consensus","real-time-simulation"],"created_at":"2025-02-28T19:19:53.823Z","updated_at":"2026-04-13T00:47:12.453Z","avatar_url":"https://github.com/hsn07pk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Conveyor System Simulation with Distributed ICS\n\nA distributed Industrial Control System (ICS) simulation for conveyor systems, incorporating Raft Consensus, Kafka Message Broker, and Kubernetes-based resource management.\n\n[Watch the video](https://youtu.be/V1IG8CwtKoQ)\n\n\n\n## Overview\n\nThis project implements a distributed control system for simulating and managing conveyor belt operations. It demonstrates modern distributed systems architecture with real-time control capabilities.\n\n### Key Components\n\n- **Client**: Simulates conveyor belt operations and sensor data generation\n- **Server**: Core ICS simulator processing sensor data and system logic\n- **Kafka Message Broker**: Handles inter-component communication\n- **Raft Consensus Service**: Manages distributed consensus and leader election\n- **Resource Manager**: Kubernetes-based workload scheduling\n- **XR Client**: Optional AR/VR integration capability\n- **LLM Agents**: Future AI-driven optimization (planned feature)\n\n## Architecture\n\n```mermaid\ngraph TD\n    A[\"LLM Agents (Future Integration)\"] --\u003e|gRPC/Protobuf| B[\"ICS Simulator (gRPC Server)\"]\n    B --\u003e|gRPC/Protobuf| C[\"Message Broker (Kafka)\"]\n    C --\u003e|gRPC| D[\"Consensus Service (Raft + Clocks)\"]\n    B --\u003e|gRPC/Protobuf| E[\"XR Client\"]\n    C --\u003e|gRPC| F[\"Resource Manager (K8s Scheduler)\"]\n\n    classDef service fill:#ADD8E6,stroke:#005A9C,stroke-width:2px,color:#000,font-weight:bold;\n    classDef broker fill:#FFD700,stroke:#DAA520,stroke-width:2px,color:#000,font-weight:bold;\n    classDef consensus fill:#98FB98,stroke:#228B22,stroke-width:2px,color:#000,font-weight:bold;\n    classDef client fill:#FFB6C1,stroke:#FF69B4,stroke-width:2px,color:#000,font-weight:bold;\n    \n    class A,B,F service;\n    class C broker;\n    class D consensus;\n    class E client;\n```\n\n## Prerequisites\n\n- Docker Desktop\n- Minikube\n- kubectl\n- Python 3.8+\n- gRPC tools\n- Protocol Buffers compiler\n\n## Installation\n\n1. Clone the repository:\n```bash\ngit clone repolink\ncd conveyor-system-simulation\n```\n\n2. Install dependencies:\n```bash\n# Server dependencies\ncd server\npip install -r requirements.txt\n\n# Client dependencies\ncd ../client\npip install -r requirements.txt\n```\n\n## Development Setup\n\n### Local Development\n\n1. Start Minikube:\n```bash\nminikube start\n```\n\n2. Configure Docker environment:\n```bash\n# For PowerShell\nminikube docker-env | Invoke-Expression\n\n# For Bash\neval $(minikube docker-env)\n```\n\n3. Build Docker images:\n```bash\n# Build server image\ndocker build -t server:latest -f server/Dockerfile server\n\n# Build client image\ndocker build -t client:latest -f client/Dockerfile client\n```\n\n### Kubernetes Deployment\n\n1. Apply Kubernetes configurations:\n```bash\nkubectl apply -f kubernetes/\n```\n\n2. Verify deployment:\n```bash\n# Check running pods\nkubectl get pods\n\n# Check services\nkubectl get svc\n```\n\n### Monitoring and Debugging\n\nMonitor system components:\n```bash\n# View pod logs (replace \u003cpod-name\u003e)\nkubectl logs \u003cpod-name\u003e\n\n# Get detailed pod information\nkubectl describe pod \u003cpod-name\u003e\n\n# Stream logs from a specific pod\nkubectl logs -f \u003cpod-name\u003e\n```\n\n## Usage\n\n1. Access the system dashboard:\n```bash\nminikube service dashboard-service\n```\n\n2. Start the simulation:\n```bash\n# In the client directory\npython client.py --host localhost --port 50051\n```\n\n3. Monitor metrics:\n```bash\n# Access Prometheus metrics\nminikube service prometheus-service\n```\n\n## Troubleshooting\n\n### Common Issues\n\n1. **Pods not starting:**\n```bash\n# Check pod status\nkubectl get pods\nkubectl describe pod \u003cpod-name\u003e\n```\n\n2. **Service connectivity issues:**\n```bash\n# Verify service endpoints\nkubectl get endpoints\n\n# Test service connectivity\nkubectl port-forward service/\u003cservice-name\u003e \u003clocal-port\u003e:\u003cservice-port\u003e\n```\n\n3. **Resource cleanup:**\n```bash\n# Delete all resources\nkubectl delete -f kubernetes/\n\n# Delete specific resources\nkubectl delete pods --all\nkubectl delete deployments --all\nkubectl delete services --all\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit changes (`git commit -m 'Add amazing feature'`)\n4. Push to branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## Future Enhancements\n\n- Integration of LLM agents for predictive maintenance\n- Enhanced XR client capabilities\n- Advanced anomaly detection\n- Real-time optimization algorithms\n- Extended monitoring and alerting\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsn07pk%2Fsmartconveyor-ics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhsn07pk%2Fsmartconveyor-ics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsn07pk%2Fsmartconveyor-ics/lists"}