Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

Agentic AI for Smart Facility Operations and Optimization Group 2

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.

Overview

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.

list of Features

Data and Analytics

  • dataset overview and operational insights
  • exploratory maintenance analytics
  • machine health and failure trend exploration
  • machine-type and failure-rate summary metrics

Maintenance Operations

  • 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 and Reporting

  • 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

Authentication and Access Control

  • demo login with predefined roles
  • pending user signup flow
  • department-level and module-level permission controls
  • admin-based approval and access configuration

Project Structure

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/

Tech Stack

  • Python
  • Streamlit
  • Pandas
  • Matplotlib
  • Seaborn
  • Plotly
  • SQLite
  • MongoDB
  • Ollama (optional local AI integration)

Setup

1. Create a virtual environment

python -m venv .venv

On Windows:

.venv\Scripts\activate

On Mac/Linux:

source .venv/bin/activate

2. Install dependencies

pip install -r requirements.txt

3. Run the app

streamlit run app.py

Or on Windows PowerShell:

streamlit run .\app.py

Environment Variables

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"

Demo Login Accounts

Username Password Role
admin admin123 Admin access
maintenance maint123 Maintenance team access
reports report123 Report team access
user user123 User access

Data Storage

  • SQLite: data/maintenance_work_orders.sqlite3 Stores work orders, maintenance tasks, preventive schedules, and history.
  • MongoDB: configured through MAINTENANCE_MONGO_URI and MAINTENANCE_MONGO_DATABASE Stores user data and generated report metadata.
  • Local fallback: data/mongo_fallback_store.json Used when MongoDB is unavailable so the demo continues to operate.

Ollama Integration

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.

How the app is organized

The main app loads feature modules in a defined sequence:

  1. Data Overview
  2. Exploratory Maintenance Analytics
  3. Machine Health Explorer
  4. AI Maintenance Assistant
  5. Work Order Intake
  6. Work Order Control Center
  7. Preventive Maintenance Planner
  8. 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.

Notes

  • 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.

Recommended next steps

  • 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

License

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.

Troubleshooting

  • 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.

About

Predictive maintenance platform with AI-assisted reporting, work order management, and machine health analytics. Streamlit-based dashboard with Ollama integration, role-based access, and preventive scheduling for industrial teams.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /