mona / README.md
mrradix's picture
Update README.md
278a9dc verified

A newer version of the Gradio SDK is available: 5.35.0

Upgrade
metadata
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:
    pip install -r requirements.txt
    
  3. Run the application:
    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