You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GetRide is a multi-platform mobile application developed with Kotlin Multiplatform Mobile (KMM), offering a full-featured ride-sharing service. The app integrates advanced ride management, Stripe payment processing, and Google Maps for navigation, while leveraging Supabase for real-time data handling and secure authentication. With support for both Android (Jetpack Compose) and iOS (SwiftUI), GetRide delivers a seamless user experience across platforms.
🤩 Support Me
Features
Core Functionality
User Authentication: GetRide uses Supabase Authentication to securely manage user sign-up, sign-in, and session handling across devices.
Ride Management: Users can request and track rides in real-time. Drivers receive filtered ride requests that show only nearby clients, making the process more efficient.
Driver Rating System: Users can rate drivers after completing a trip. The driver's rating is updated instantly using a custom SQL function.
Trips and Payment History: Users can access a detailed history of their past trips and payment transactions within the app.
Stripe Payment Integration: Payments are processed securely using Stripe, enabling users to complete transactions with ease.
Google Maps API Integration
Route Calculation: Fetches and decodes optimized routes between start and end locations for smooth navigation during rides.
Location Search: Users can search for places using text input, improving the flexibility of destination choices.
Reverse Geocoding: Fetches place names and details from latitude and longitude coordinates, ensuring accurate location services.
Supabase Integration
Authentication: Secure user authentication using Supabase, allowing for email-based sign-ups, logins, and session persistence.
Real-time Data: Supabase handles real-time synchronization of ride requests, trip updates, and other user interactions.
Data Storage: All user and trip-related data are stored securely, with robust permissions and scalability using Supabase.
Multi-Platform Support
GetRide is built using Kotlin Multiplatform Mobile (KMM) for shared business logic across Android and iOS, while using native UI frameworks for each platform:
Android: The app uses Jetpack Compose for a modern and reactive user interface.
iOS: The app is powered by SwiftUI, providing a smooth and native experience for iOS users.
Technologies Used
Kotlin Multiplatform Mobile (KMM): Shared business logic for iOS and Android platforms.
Jetpack Compose: Modern UI toolkit for Android development.
SwiftUI: Native UI framework for iOS development.
Supabase: Handles authentication, real-time data, and secure backend storage.
Stripe API: Processes payments and manages transactions.
Google Maps API: Provides route calculation, location search, and reverse geocoding.
Ktor & kotlinx.serialization: For API communication and data serialization.
Installation
To install and run GetRide locally, follow these steps: