CoolFace
Apppublic

Francescogiraldi/getaround_app

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
App README

๐Ÿš— Getaround Analytics Dashboard

A comprehensive Streamlit dashboard for analyzing Getaround rental data, featuring interactive visualizations, buffer threshold simulations, and key performance indicators.

Getaround Dashboard Python Plotly

๐Ÿ“‹ Table of Contents

โœจ Features

  • โ€”Interactive Data Filtering: Filter rentals by check-in type (mobile, connect, or both)
  • โ€”Key Performance Indicators: Real-time metrics including total rentals, completion rates, and delay statistics
  • โ€”Buffer Threshold Simulation: Analyze the impact of different time buffers between consecutive rentals
  • โ€”Modern UI Design: Clean, responsive interface with Getaround's brand colors
  • โ€”Real-time Visualizations: Interactive charts powered by Plotly
  • โ€”Data Refresh Capability: Reload and refresh dashboard data on demand

๐Ÿš€ Installation

Prerequisites

  • โ€”Python 3.8 or higher
  • โ€”pip package manager

Local Setup

  1. 1.Clone the repository
bash
   git clone https://github.com/Francescogiraldi/getaround.git
   cd getaround
  1. 1.Install dependencies
bash
   pip install -r requirements.txt
  1. 1.Prepare your data
  2. 2.Ensure you have processed_delay_getaround_data.csv in the project directory
  3. 3.Or run the data processing script: python processing_delay_analysis_data.py
  1. 1.Run the application
bash
   streamlit run app.py
  1. 1.Access the dashboard
  2. 2.Open your browser and navigate to http://localhost:8501

๐Ÿณ Docker Setup

Build and Run with Docker

  1. 1.Build the Docker image
bash
   docker build -t getaround-dashboard .
  1. 1.Run the container
bash
   docker run -p 8501:8501 getaround-dashboard
  1. 1.Access the application
  2. 2.Navigate to http://localhost:8501 in your browser

Docker Compose (Optional)

yaml
version: '3.8'
services:
  getaround-dashboard:
    build: .
    ports:
      - "8501:8501"
    volumes:
      - ./data:/app/data

๐Ÿ“Š Data Requirements

The dashboard expects a CSV file named processed_delay_getaround_data.csv with the following columns:

  • โ€”checkin_type: Type of check-in (mobile/connect)
  • โ€”delay_at_checkout_in_minutes: Delay time in minutes
  • โ€”previous_ended_rental_id: ID of previous rental
  • โ€”time_delta_with_previous_rental_in_minutes: Time gap between rentals
  • โ€”state: Rental state (ended/canceled)

๐ŸŽฏ Dashboard Sections

1. Data Filters

  • โ€”Check-in Type Filter: Filter data by mobile, connect, or both rental types
  • โ€”Refresh Button: Reload and refresh dashboard data

2. Key Performance Indicators

  • โ€”Total Rentals
  • โ€”Completed Rentals with completion rate
  • โ€”Canceled Rentals with cancellation rate
  • โ€”Rentals with Delay
  • โ€”Average and Median Delay times

3. Buffer Threshold Simulation

  • โ€”Interactive slider to set buffer thresholds (0-720 minutes)
  • โ€”Real-time impact analysis showing:
  • โ€”Percentage of rentals affected
  • โ€”Critical cases that would be solved
  • โ€”Potential cancellation prevention
  • โ€”Interactive visualization of results

๐Ÿ› ๏ธ Technology Stack

  • โ€”Frontend: Streamlit
  • โ€”Data Processing: Pandas
  • โ€”Visualizations: Plotly, Matplotlib
  • โ€”Styling: Custom CSS with modern design principles
  • โ€”Containerization: Docker

๐Ÿ“ Project Structure

getaround/
โ”œโ”€โ”€ app.py                              # Main Streamlit application
โ”œโ”€โ”€ processing_delay_analysis_data.py   # Data processing script
โ”œโ”€โ”€ processed_delay_getaround_data.csv  # Processed data file
โ”œโ”€โ”€ requirements.txt                    # Python dependencies
โ”œโ”€โ”€ Dockerfile                         # Docker configuration
โ”œโ”€โ”€ README.md                          # Project documentation
โ””โ”€โ”€ .gitignore                         # Git ignore rules

๐ŸŽจ Design Features

  • โ€”Modern UI: Clean, card-based layout with hover effects
  • โ€”Brand Colors: Getaround's signature violet theme (#aa1ba3)
  • โ€”Responsive Design: Optimized for desktop and mobile viewing
  • โ€”Interactive Elements: Smooth transitions and modern styling
  • โ€”Accessibility: Clear typography and intuitive navigation

๐Ÿ”ง Configuration

The application can be customized by modifying:

  • โ€”Colors: Update CSS variables in app.py
  • โ€”Metrics: Modify KPI calculations in the metrics section
  • โ€”Visualizations: Customize Plotly charts for different insights
  • โ€”Filters: Add additional filtering options

๐Ÿค Contributing

  1. 1.Fork the repository
  2. 2.Create a feature branch (git checkout -b feature/amazing-feature)
  3. 3.Commit your changes (git commit -m 'Add amazing feature')
  4. 4.Push to the branch (git push origin feature/amazing-feature)
  5. 5.Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Author

Francesco Giraldi - 2025

๐Ÿ™ Acknowledgments

  • โ€”Getaround for the inspiration and data structure
  • โ€”Streamlit community for the amazing framework
  • โ€”Plotly for interactive visualizations

Made with โค๏ธ by Francesco Giraldi 2025