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.
- Login page with multi-role support
- Role-based access control (customizable)
- Secure session handling
- Logout functionality
- Displays key OEE KPIs
- Interactive visualizations
- Performance breakdown (Availability, Performance, Quality)
- KPIs related to working hours
- Graphs for time distribution and trends
- Useful for identifying inefficiencies in time usage
- Productivity-focused KPIs
- Comparative and trend-based charts
- Helps evaluate operational output
-
Available across all dashboard pages
-
Select:
- A specific month
- Or aggregate across all months
- Built-in distribution form (currently in work)
- Includes CAPTCHA verification
- Configurable to send messages using your own Gmail account
- Uses an Excel file as the database
- Easy to update and maintain without needing a full database system
- Python
- Streamlit
- Pandas
- Plotly / Matplotlib (depending on implementation)
- OpenPyXL (Excel handling)
git clone https://github.com/jalfr3d/streamlit-dashboard-oee.gitpython -m venv .venv
source .venv/Scripts/activate # Windows
# or
source .venv/bin/activate # macOS/Linuxpip install -r requirements.txtstreamlit run app.pyTo enable email sending:
- Use a Gmail account
- Enable App Passwords (recommended)
- 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")- 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 can be defined in:
- A config file
- Hardcoded dictionary
- External source (optional)
Example:
users = {
"admin": {"password": "1234", "role": "admin"},
"user": {"password": "abcd", "role": "viewer"}
}βββ 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
- 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
- Replace Excel with SQL database
- Add user registration system
- Improve role granularity
- Deploy to cloud (Streamlit Cloud / AWS / Azure)
Developed as a custom Streamlit analytics solution.
This project is open-source and available under the MIT License.