A Streamlit-based maintenance operations dashboard for predictive maintenance, work order management, operational analytics, and AI-assisted reporting. This project is designed to help teams monitor machine health, analyze failure patterns, plan preventive actions, and manage maintenance workflows from a single interface.
This application brings together:
- machine health monitoring and exploratory analysis
- predictive maintenance insights using operational data
- AI-assisted maintenance reporting
- work order intake and control workflows
- role-based access and governance for teams
- SQLite and MongoDB-backed data handling with a local fallback mode
The system is organized as a single-page Streamlit application with modular screens for each business function.
- dataset overview and operational insights
- exploratory maintenance analytics
- machine health and failure trend exploration
- machine-type and failure-rate summary metrics
- work order intake for corrective, preventive, inspection, and emergency work
- work order control center with progress tracking
- preventive maintenance planning and scheduling
- maintenance history and workload visibility
- AI maintenance assistant using Ollama when available
- local fallback rule-based maintenance reporting if AI is unavailable
- governance and report review controls
- role-based access handling for operational teams
- demo login with predefined roles
- pending user signup flow
- department-level and module-level permission controls
- admin-based approval and access configuration
INfosys_springboard_7.0/
├── app.py
├── README.md
├── requirements.txt
├── requirement.txt
├── data/
│ ├── maintenance_work_orders.sqlite3
│ └── mongo_fallback_store.json
├── datasets/
│ ├── ai4i2020.csv
│ └── tested.csv
├── logs/
├── assets/
│ └── maintenance-operations-hero.png
├── modules/
│ ├── access_report_governance.py
│ ├── ai_maintenance_assistant.py
│ ├── data_overview.py
│ ├── exploratory_analysis.py
│ ├── machine_health_explorer.py
│ ├── preventive_maintenance_planner.py
│ ├── work_order_control.py
│ └── work_order_intake.py
├── maintenance_platform/
│ ├── __init__.py
│ ├── config.py
│ ├── constants.py
│ ├── db/
│ ├── services/
│ └── ui/
├── notebooks/
│ ├── eda_data.ipynb
│ └── pandasINfosys.ipynb
└── aiOlamma/
- Python
- Streamlit
- Pandas
- Matplotlib
- Seaborn
- Plotly
- SQLite
- MongoDB
- Ollama (optional local AI integration)
python -m venv .venv
On Windows:
.venv\Scripts\activate
On Mac/Linux:
source .venv/bin/activatepip install -r requirements.txt
streamlit run app.py
Or on Windows PowerShell:
streamlit run .\app.py
Optional environment variables used by the app:
$env:MAINTENANCE_MONGO_URI="mongodb://localhost:27017" $env:MAINTENANCE_MONGO_DATABASE="infosys_maintenance" $env:MAINTENANCE_MONGO_TIMEOUT_MS="1200"
| Username | Password | Role |
|---|---|---|
| admin | admin123 | Admin access |
| maintenance | maint123 | Maintenance team access |
| reports | report123 | Report team access |
| user | user123 | User access |
- SQLite:
data/maintenance_work_orders.sqlite3Stores work orders, maintenance tasks, preventive schedules, and history. - MongoDB: configured through
MAINTENANCE_MONGO_URIandMAINTENANCE_MONGO_DATABASEStores user data and generated report metadata. - Local fallback:
data/mongo_fallback_store.jsonUsed when MongoDB is unavailable so the demo continues to operate.
The AI maintenance assistant can connect to a local Ollama server at:
http://localhost:11434
If Ollama is unavailable, the app falls back to local rule-based response generation instead of failing entirely.
The main app loads feature modules in a defined sequence:
- Data Overview
- Exploratory Maintenance Analytics
- Machine Health Explorer
- AI Maintenance Assistant
- Work Order Intake
- Work Order Control Center
- Preventive Maintenance Planner
- Access and Report Governance
This is driven from the main app.py entry point and the navigation configuration under the maintenance_platform and modules structure.
- This is a demo-ready project built for operational management and predictive maintenance scenarios.
- Admin users can control access and permissions for different sections, machine data types, and departments.
- The project includes session-state navigation for a smoother internal workflow experience.
- add a real database backend for production use
- add tests for key maintenance workflows
- add CI/CD for linting and validation
- configure a real MongoDB deployment or cloud-hosted service
- document deployment steps for production hosting
This project does not currently include an explicit license file. If you plan to share it publicly, add a license such as MIT or Apache-2.0.
- If the app does not start, verify dependencies are installed with
pip install -r requirements.txt. - If MongoDB is not running, the app should keep working using the local fallback file.
- If Ollama is unavailable, the AI assistant falls back to local logic rather than breaking the app.
- If you change the demo accounts, update access roles and governance settings accordingly.