|
--- |
|
title: mona |
|
emoji: π€ |
|
colorFrom: blue |
|
colorTo: purple |
|
sdk: gradio |
|
sdk_version: 5.34.2 |
|
app_file: app.py |
|
pinned: false |
|
--- |
|
# MONA Dashboard |
|
|
|
MONA (Monitoring & Analytics) is a comprehensive Streamlit dashboard application for data visualization, monitoring, and analytics. |
|
|
|
## π Features |
|
|
|
- **Interactive Dashboard**: Real-time data visualization with multiple chart types |
|
- **Data Upload & Analysis**: Support for CSV, Excel, JSON, and Parquet files |
|
- **Real-time Monitoring**: Live system metrics and performance tracking |
|
- **Configurable Settings**: Customizable themes, layouts, and preferences |
|
- **Error Handling**: Robust error management and logging |
|
- **Data Storage**: In-memory and session-based data persistence |
|
|
|
## π Project Structure |
|
|
|
``` |
|
mona/ |
|
βββ app.py # Main application entry point |
|
βββ requirements.txt # Python dependencies |
|
βββ README.md # Project documentation |
|
βββ pages/ |
|
β βββ dashboard.py # Main dashboard page |
|
β βββ settings.py # Settings and configuration page |
|
βββ utils/ |
|
βββ config.py # Configuration management |
|
βββ storage.py # Data storage utilities |
|
βββ error_handling.py # Error handling and decorators |
|
βββ logging.py # Logging utilities |
|
``` |
|
|
|
## π οΈ Installation |
|
|
|
1. Clone or download the project files |
|
2. Install dependencies: |
|
```bash |
|
pip install -r requirements.txt |
|
``` |
|
3. Run the application: |
|
```bash |
|
streamlit run app.py |
|
``` |
|
|
|
## π Usage |
|
|
|
### Dashboard Features |
|
|
|
1. **Overview Tab**: |
|
- Key metrics and KPIs |
|
- Trend analysis charts |
|
- Category distribution visualizations |
|
|
|
2. **Analytics Tab**: |
|
- Date range filtering |
|
- Multiple chart types (Line, Bar, Scatter, Area, Histogram) |
|
- Customizable metrics selection |
|
|
|
3. **Data Upload Tab**: |
|
- File upload support (CSV, Excel, JSON) |
|
- Data preview and summary |
|
- Basic analytics on uploaded data |
|
|
|
4. **Real-time Tab**: |
|
- Live system monitoring |
|
- Performance metrics (CPU, Memory, Network) |
|
- System status indicators |
|
- Event logs |
|
|
|
### Settings Configuration |
|
|
|
- **General Settings**: Application name, performance parameters |
|
- **Display Settings**: Themes, chart types, layout preferences |
|
- **Data Settings**: File size limits, supported formats, cache settings |
|
- **System Settings**: Configuration management, debug options |
|
|
|
## π§ Configuration |
|
|
|
The application uses a configuration system with the following defaults: |
|
|
|
- **Max Data Points**: 1000 |
|
- **Refresh Interval**: 30 seconds |
|
- **Default Chart**: Line chart |
|
- **Theme**: Light mode |
|
- **File Size Limit**: 10MB |
|
- **Supported Formats**: CSV, Excel, JSON, Parquet |
|
|
|
Configuration can be modified through the Settings page or environment variables. |
|
|
|
## ποΈ Data Storage |
|
|
|
The application supports two storage types: |
|
|
|
1. **Memory Storage**: Temporary storage for the current session |
|
2. **Session Storage**: Streamlit session state persistence |
|
|
|
Data is automatically managed and can be cleared through the Settings page. |
|
|
|
## π¨ Error Handling |
|
|
|
The application includes comprehensive error handling: |
|
|
|
- **Data Exceptions**: Validation and processing errors |
|
- **UI Exceptions**: Interface and rendering errors |
|
- **File Operations**: Upload and processing errors |
|
- **Configuration Errors**: Settings and validation errors |
|
|
|
All errors are logged and displayed to users with appropriate messages. |
|
|
|
## π Logging |
|
|
|
Logging is configured with: |
|
|
|
- **Log Level**: INFO (configurable) |
|
- **Format**: Timestamp, Logger Name, Level, Message |
|
- **Output**: Console/stdout |
|
- **Functions**: `log_error`, `log_info`, `log_warning`, `log_debug` |
|
|
|
## π Security Notes |
|
|
|
- File uploads are limited by size and type |
|
- No persistent file storage on server |
|
- Session-based data isolation |
|
- Input validation and sanitization |
|
|
|
## π Troubleshooting |
|
|
|
### Common Issues |
|
|
|
1. **Import Errors**: Ensure all dependencies are installed via `requirements.txt` |
|
2. **File Upload Issues**: Check file size limits and supported formats |
|
3. **Performance Issues**: Adjust max data points in settings |
|
4. **Memory Issues**: Clear storage regularly or reduce data cache timeout |
|
|
|
### Debug Mode |
|
|
|
Enable debug mode in General Settings to: |
|
- View detailed error information |
|
- Access session state data |
|
- See configuration details |
|
- Enable developer options |
|
|
|
## π€ Contributing |
|
|
|
To contribute to this project: |
|
|
|
1. Report bugs through issues |
|
2. Suggest features and improvements |
|
3. Submit pull requests with fixes |
|
4. Follow the existing code structure and style |
|
|
|
## π License |
|
|
|
This project is open source and available under standard terms. |
|
|
|
## π Version History |
|
|
|
- **v1.0.0**: Initial release with core dashboard functionality |
|
- Bug fixes and feature updates as needed |
|
|
|
## π Support |
|
|
|
For support and questions: |
|
- Check the troubleshooting section |
|
- Review error logs in debug mode |
|
- Ensure all dependencies are properly installed |