Skip to content

jalfr3d/streamlit-dashboard-oee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Š Streamlit OEE Dashboard

A multi-page Streamlit dashboard designed for monitoring operational performance through key industrial metrics such as OEE (Overall Equipment Effectiveness), productivity, and working hours. The application includes authentication, role-based access, and interactive analytics powered by an Excel data source.

dashboard

πŸš€ Features

πŸ” Authentication System

  • Login page with multi-role support
  • Role-based access control (customizable)
  • Secure session handling
  • Logout functionality

πŸ“ˆ Dashboard Pages

1. OEE Overview

  • Displays key OEE KPIs
  • Interactive visualizations
  • Performance breakdown (Availability, Performance, Quality)

2. Hours Analysis

  • KPIs related to working hours
  • Graphs for time distribution and trends
  • Useful for identifying inefficiencies in time usage

3. Productivity Analysis

  • Productivity-focused KPIs
  • Comparative and trend-based charts
  • Helps evaluate operational output

πŸ“… Date Filtering

  • Available across all dashboard pages

  • Select:

    • A specific month
    • Or aggregate across all months

πŸ“¬ Send Email

  • Built-in distribution form (currently in work)
  • Includes CAPTCHA verification
  • Configurable to send messages using your own Gmail account

πŸ“‚ Data Source

  • Uses an Excel file as the database
  • Easy to update and maintain without needing a full database system

πŸ› οΈ Tech Stack

  • Python
  • Streamlit
  • Pandas
  • Plotly / Matplotlib (depending on implementation)
  • OpenPyXL (Excel handling)

πŸ“¦ Installation

1. Clone the repository

git clone https://github.com/jalfr3d/streamlit-dashboard-oee.git

2. Create virtual environment (recommended)

python -m venv .venv
source .venv/Scripts/activate  # Windows
# or
source .venv/bin/activate      # macOS/Linux

3. Install dependencies

pip install -r requirements.txt

▢️ Running the App

streamlit run app.py

βš™οΈ Configuration

πŸ“§ Gmail Setup (for Contact Form)

To enable email sending:

  1. Use a Gmail account
  2. Enable App Passwords (recommended)
  3. Add credentials to your environment variables or config file:
sender = os.getenv("GMAIL_SENDER")
secret = os.getenv("APP_PASS_GMAIL")
recipient = os.getenv("RECIPIENT_EMAIL")

πŸ“Š Excel Data

  • Place your Excel file in the project directory
  • Ensure it follows the expected schema (columns used by the dashboard)
  • Update file path in the code if needed

πŸ” Roles Configuration

  • Roles can be defined in:

    • A config file
    • Hardcoded dictionary
    • External source (optional)

Example:

users = {
    "admin": {"password": "1234", "role": "admin"},
    "user": {"password": "abcd", "role": "viewer"}
}

πŸ“ Project Structure

β”œβ”€β”€ app.py
β”œβ”€β”€ DataBaseProduction.xlsx
β”œβ”€β”€ users.json
β”œβ”€β”€ images/
|   └── logo.jpg
β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ account.py
β”‚   β”œβ”€β”€ contact.py
β”‚   β”œβ”€β”€ hours.py
|   β”œβ”€β”€ oee.py
β”‚   └── productivity.py
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ auth.pyβ”‚   
β”‚   └── data_loader.py
β”œβ”€β”€ requirements.txt
└── README.md

🧩 Notes

  • The app is designed to be modular and extensible
  • Excel-based backend makes it easy to prototype and deploy quickly
  • Suitable for internal dashboards or lightweight analytics tools

πŸ“Œ Future Improvements

  • Replace Excel with SQL database
  • Add user registration system
  • Improve role granularity
  • Deploy to cloud (Streamlit Cloud / AWS / Azure)

πŸ‘¨β€πŸ’» Author

Developed as a custom Streamlit analytics solution.


πŸ“„ License

This project is open-source and available under the MIT License.

Releases

No releases published

Packages

 
 
 

Contributors

Languages