{"id":24247387,"url":"https://github.com/morikeli/tushare","last_synced_at":"2025-10-04T05:07:13.393Z","repository":{"id":271306629,"uuid":"913016587","full_name":"morikeli/TuShare","owner":"morikeli","description":"This is a carpooling (ride sharing) app built with Flutter 💙 for Android and iOS","archived":false,"fork":false,"pushed_at":"2025-05-09T08:49:27.000Z","size":3409,"stargazers_count":5,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-09T09:38:22.319Z","etag":null,"topics":["android","android-app","android-application","carpooling","carpooling-application","dart","flutter","flutter-app","flutter-apps","flutter-examples","flutter-launcher-icons","flutter-ui","getx","ios","ios-app","ios-application","ride-sharing","rideshare","rideshare-application","ridesharing-app"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/morikeli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-06T21:29:55.000Z","updated_at":"2025-05-09T08:49:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"b8dffd97-f0ad-4972-a976-648504178730","html_url":"https://github.com/morikeli/TuShare","commit_stats":null,"previous_names":["morikeli/tushare"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/morikeli/TuShare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morikeli%2FTuShare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morikeli%2FTuShare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morikeli%2FTuShare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morikeli%2FTuShare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/morikeli","download_url":"https://codeload.github.com/morikeli/TuShare/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morikeli%2FTuShare/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273767543,"owners_count":25164461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-app","android-application","carpooling","carpooling-application","dart","flutter","flutter-app","flutter-apps","flutter-examples","flutter-launcher-icons","flutter-ui","getx","ios","ios-app","ios-application","ride-sharing","rideshare","rideshare-application","ridesharing-app"],"created_at":"2025-01-14T23:46:03.986Z","updated_at":"2025-10-04T05:07:13.375Z","avatar_url":"https://github.com/morikeli.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TuShare\n\n## Mobile app screenshots\n| Light mode | Dark mode |\n| ------------------------- | ------------------------- |\n| | |\n| Homescreen (My rides tab) | Homescreen (discover tab) |\n| ![homescreen-light](https://github.com/user-attachments/assets/5cea39e7-bdc1-45e8-a44b-b691314afb78) | ![homescreen-dark](https://github.com/user-attachments/assets/d5560fce-0087-41c8-85c9-adcb8e3f4455)|\n| | |\n| | |\n| Profile screen (light mode) | Profile screen (dark mode) |\n| ![profile-screen-light](https://github.com/user-attachments/assets/6c906ee9-8ea1-4dc6-a7a9-d8780ca647c2) | ![profile-screen-dark](https://github.com/user-attachments/assets/74d18205-6896-45ec-b3a0-6463f2c0de4c) |\n| | |\n| | |\n| Car slots screen | Car slots screen on scroll |\n| ![car-slots](https://github.com/user-attachments/assets/c39d7210-f9e5-43b9-a250-78578a75cbfc) | ![car-slots-on-scroll](https://github.com/user-attachments/assets/1be63e6e-17b0-4a8c-9208-a80b7d9599b9) |\n| | |\n| | |\n| Car slots (Mini map) | Fullscreen map |\n| ![car-slots-route-screenshot](https://github.com/user-attachments/assets/6ef671ae-6fca-4292-8b2b-d63f6890df02) | ![fullscreen-map](https://github.com/user-attachments/assets/9815dd87-e8bf-4805-b6f5-9641901e233e) |\n| | |\n| | |\n| Messages screen | Messages screen |\n| ![messages-screen-light](https://github.com/user-attachments/assets/6431a69f-7376-4d91-becc-18aa3fd5c055) | ![messages-screen-dark](https://github.com/user-attachments/assets/c3a77632-9d33-4f1f-9465-eb4c2d048e29) | \n| ![chat-screen-light](https://github.com/user-attachments/assets/0c0b6fc8-53e9-4020-b934-c2eaf494cd2b) | ![chat-screen-dark](https://github.com/user-attachments/assets/8e13aceb-8de6-4347-b066-0575bfb85344) |\n\n\n## Overview\nThis 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.  \n\n### **Key Features**\n- **Ride booking** – Passengers can search for and book available rides.  \n- **Ride posting** – Drivers can list their rides, including route, time, and seat availability.  \n- **Real-time location tracking** – Integrated with OpenStreetMap for navigation.  \n- **Secure authentication** – User authentication and profile management.  \n- **Dynamic seat availability** – Tracks remaining seats per ride.  \n\n### **Technologies Used**\n- **Frontend:** Flutter (Dart)  \n- **Backend:** FastAPI (Python)  \n- **Database:** SQLite/PostgreSQL  \n- **State Management:** GetX  \n- **Authentication:** OAuth 2.0  and JWT-based authentication  \n- **Maps \u0026 Navigation:** OpenStreetMap\n\n\n## Developer instructions\n---\n**NOTE**: \n* To run this project, you **MUST** install Flutter SDK on your machine. Refer to [Flutter's documentation](https://docs.flutter.dev/get-started/install) and follow a step-by-step guide on how you can install Flutter SDK on your OS.\n\n* Make sure you have installed Android Studio or a text editor of your choice - VS Code or XCode.\n\n* 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.\n\n**Scrcpy Installation guide** \n* [Install scrcpy on Windows](https://github.com/Genymobile/scrcpy/blob/master/doc/windows.md)\n* [Install scrcpy on Linux](https://github.com/Genymobile/scrcpy/blob/master/doc/linux.md)\n* [Install scrcpy on MacOS](https://github.com/Genymobile/scrcpy/blob/master/doc/macos.md)\n\n---\n\n\n#### Installation guide for developers\n\n1. Git clone\n\nClone this repository by opening your terminal/CMD and change the current working directory to Desktop - use `cd Desktop` command.\n```bash\n    cd Desktop\n    git clone https://github.com/morikeli/TuShare.git\n```\n2. Create a `.env` file and add the following environment variable.\n```env\n    API_URL=https://tushare-ride-sharing-app.onrender.com\n```\n3. Open the cloned repository on your text editor and run this command:\n```bash\n    flutter run\n```\n4. 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 `apk` file.\n\n---\n**Keep in mind**:\n* When building the application for the first time, it may take 10 - 15 minutes to finish the installation and build process.\n* 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.\n---\n\n\n## Contributor expectations\nIncase of a bug or you wish to make a contribution, create a new branch using the git command `git checkout -b \u003cname of your branch\u003e` and create a pull request. Wait for review.\n\nYou can also open an issue using the `Issues` tab. The reported issue will be reviewed and a solution may be provided.\n\n\n## Request\nDon't forget to star the repo 🌟😉\n\n\n## Known issues\nThe app is still under development. More features will be added with time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorikeli%2Ftushare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorikeli%2Ftushare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorikeli%2Ftushare/lists"}