Skip to content

A smart and green solution to move around the city.

License

Notifications You must be signed in to change notification settings

BeastOfShadow/Mobishare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

407 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🚲 Mobishare

A smart and green solution to move around the city.

.NET Core Platform License Status Made with ❀️


MobiShare is a smart urban mobility platform that lets you get around the city easily and sustainably using standard bikes, electric bikes, and electric scooters. With MobiShare, you can skip the traffic, reduce your carbon footprint, and move freely through the city.


πŸš€ Features

  • πŸ—Ί Live map showing available vehicles in real time
  • πŸ…ΏοΈ Smart parking assistance with geofenced zones
  • πŸ”„ Ride history & payment tracking
  • πŸ’³ In-app payments with cards or digital wallets
  • 🎫 Passes & promotions for frequent users
  • πŸ€– AI agent to improve app usability

🚘 Available Vehicles

πŸš΄β€β™‚οΈ Vehicle πŸ“‹ Description
Standard Bicycle Classic bike without motor assistance β€” great for short rides and exercise
Electric Bicycle Pedal-assist bike, perfect for longer distances or hilly routes
Electric Scooter Fast and flexible option for busy urban streets

πŸ§‘β€πŸ’» Tech Stack

  • Frontend: Razor Pages, CSS
  • Backend: ASP .NET Core
  • Deployment: Docker compose
  • Database: SQLite
  • Real-time Communication: SignalR
  • Authentication: Google OAuth 2.0
  • Payments: PayPal SDK
  • Messaging: MQTT (for vehicle telemetry)
  • Mapping & GPS: Google Maps SDK
  • Cloud Services: AWS
  • Arduino code: ino

🧾 Required Environment Variables / App Settings

Configure the following variables in your appsettings.json as environment variables.

πŸ”‘ Strucrure of appsettings.json

{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=../Mobishare.db"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "Ollama": {
    "Llms": {
      "DefaultUrlApiClient": "http://localhost:11434",
      "Qwen3": 
      {
        "UrlApiClient": "http://localhost:11434",
        "ModelName": "qwen3:latest"
      }
    },
    "Embedding": {
      "UrlApiClient": "http://localhost:11434",
      "ModelName": "nomic-embed-text" 
    }
  }
}

πŸ§ͺ Example for secrets

You must add this file inside of route file, not inside the project.

{
  "Authentication": {
    "Google": {
      "ClientId": "your-google-client-id",
      "ClientSecret": "your-google-client-secret"
    }
  },
  "GoogleMaps": {
    "ApiKey": "your-google-maps-api-key"
  },
  "Payments": {
    "PayPal": {
      "ClientId": "your-paypal-client-id",
      "ClientSecret": "your-paypal-client-secret",
      "PayPalUrl": "https://api.sandbox.paypal.com"
    }
  }
}

βš™οΈ Getting Started

Follow these steps to run the project locally.

πŸ“₯ 1. Clone the repository

git clone https://github.com/your-username/mobishare.git
cd mobishare

πŸ”§ 2. Configure environment variablesClone the repository

Make sure to set up the required settings either in:

πŸ“¦ 3.1.1 Restore dependencies

Restore NuGet packages and all dependencies: dotnet restore

πŸš€ 3.1.2 Run the backend

You are ready to go! Run: dotnet run --project Mobishare

3.2 πŸš€ 3.1.2 Run with Docker

Easy to run with: docker compose up --build


🚦 How to Use the Project

πŸ‘€ User Workflow

  1. 🏠 Access without login

    • Users see only the home page presenting MobiShare and its features.
  2. πŸ”‘ User login

    • Login via Google OAuth.
    • Redirected to the landing page.
  3. πŸ—Ί Landing page

    • View all available vehicles (bikes and scooters) on the live map.
    • Check ride history and account info.
    • Use our custom AI agent.
  4. πŸ“… Book a vehicle

    • Reserve a vehicle for a limited time.
    • Reservation expires β†’ vehicle becomes available again.
  5. πŸ’³ Wallet & Payments

    • Must have a minimum balance of €5 to start a ride.
    • Payments handled via PayPal.
    • First 30 minutes of each ride are free!
  6. πŸš΄β€β™‚οΈ Start & end a ride

    • Rides must start/end within designated parking areas on the map.
  7. ⭐ Points system

    • Earn points for rides and sustainable usage.
  8. πŸ€–AI agent

    • Help you to undestrand what the application do.
    • Help you to open tickets, reserve vehicle and much more.

πŸ›  Staff & Admin Workflow

  • πŸ‘· Technical users

    • Manage vehicle maintenance and support tickets.
  • πŸ—Ί Staff

    • Manage maps, geofenced zones, and vehicle fleet.
  • πŸ‘‘ Admin

    • Full control: user suspension, vehicle management, payments, system oversight.

By following this workflow, everyone can enjoy a smooth and smart urban mobility experience with MobiShare! 🚲⚑


πŸ™ Credits

This project was developed by the dedicated Mobishare team:

  • BeastOfShadow – Full Stack Developer, AI specialist | GitHub | LinkedIn
  • Cosimo Daniele – Full Stack Developer, AI specialist | GitHub | LinkedIn
  • Matteo Schintu – UX/UI Designer | GitHub

Special thanks to everyone who contributed ideas, feedback, and testing.


πŸ“„ License

This project is licensed under the Apache License 2.0.

About

A smart and green solution to move around the city.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •