This is a carpooling (ride-sharing) mobile application designed to provide a seamless and efficient way for users to share rides. The app connects passengers and drivers, allowing users to book or offer rides conveniently.
- Ride booking β Passengers can search for and book available rides.
 - Ride posting β Drivers can list their rides, including route, time, and seat availability.
 - Real-time location tracking β Integrated with OpenStreetMap for navigation.
 - Secure authentication β User authentication and profile management.
 - Dynamic seat availability β Tracks remaining seats per ride.
 
- Frontend: Flutter (Dart)
 - Backend: FastAPI (Python)
 - Database: SQLite/PostgreSQL
 - State Management: GetX
 - Authentication: OAuth 2.0 and JWT-based authentication
 - Maps & Navigation: OpenStreetMap
 
NOTE:
- 
To run this project, you MUST install Flutter SDK on your machine. Refer to Flutter's documentation and follow a step-by-step guide on how you can install Flutter SDK on your OS.
 - 
Make sure you have installed Android Studio or a text editor of your choice - VS Code or XCode.
 - 
Make sure your machine supports virtualization - required to run an emulator. If it doesn't, don't worry, you can install
scrcpyon your machine or use Android Studio'smirror devicefeature. 
Scrcpy Installation guide
- Git clone
 
Clone this repository by opening your terminal/CMD and change the current working directory to Desktop - use cd Desktop command.
    cd Desktop
    git clone https://github.com/morikeli/TuShare.git- Create a 
.envfile and add the following environment variable. 
    API_URL=https://tushare-ride-sharing-app.onrender.com- Open the cloned repository on your text editor and run this command:
 
    flutter run- Make sure you have a very strong internet connection so that the necessary gradle files can be downloaded. These files are necessary to build the project 
apkfile. 
Keep in mind:
- When building the application for the first time, it may take 10 - 15 minutes to finish the installation and build process.
 - When running the application using the 
flutter runcommand, it may take atleast a minute, or more dependencies on your hardware specifications such as CPU speed, or RAM, to install the build files on a physical device. 
Incase of a bug or you wish to make a contribution, create a new branch using the git command git checkout -b <name of your branch> and create a pull request. Wait for review.
You can also open an issue using the Issues tab. The reported issue will be reviewed and a solution may be provided.
Don't forget to star the repo ππ
The app is still under development. More features will be added with time.











