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 scrcpy on your machine or use Android Studio's mirror device feature.
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.
Warning
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 run command, 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.











