A newer version of the Gradio SDK is available:
5.35.0
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
- Clone or download the project files
- Install dependencies:
pip install -r requirements.txt
- Run the application:
streamlit run app.py
π Usage
Dashboard Features
Overview Tab:
- Key metrics and KPIs
- Trend analysis charts
- Category distribution visualizations
Analytics Tab:
- Date range filtering
- Multiple chart types (Line, Bar, Scatter, Area, Histogram)
- Customizable metrics selection
Data Upload Tab:
- File upload support (CSV, Excel, JSON)
- Data preview and summary
- Basic analytics on uploaded data
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:
- Memory Storage: Temporary storage for the current session
- 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
- Import Errors: Ensure all dependencies are installed via
requirements.txt
- File Upload Issues: Check file size limits and supported formats
- Performance Issues: Adjust max data points in settings
- 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:
- Report bugs through issues
- Suggest features and improvements
- Submit pull requests with fixes
- 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