About this software
About Rydo
Rydo is a three-part ride-hailing product: a Flutter rider app (package rydo_rider), a Flutter driver app (rydo_driver) and an ASP.NET Core (.NET 10) backend that serves both the JSON API and a Razor admin panel. Riders sign in with phone and OTP, book instant, scheduled or hourly rides, and pay by cash, card (Stripe) or wallet. Drivers sign up with documents, go online, accept offers and track earnings. Operators manage riders, drivers, rates, promo codes, payments and website content from the admin panel. The package includes a SQL Server schema, seed and upgrade scripts, a Dockerfile, setup docs and a unit test project.
Why Rydo
What makes it better
than the alternatives
- 01
Instant, scheduled and hourly rides
Separate controllers and app modules for each booking type, with hourly rate quoting and a background scheduled-ride reminder service.
- 02
Rider and driver apps both included
Two Flutter apps using GetX, with README tables mapping each feature module to its API endpoints.
- 03
Hardened defaults
JWT Bearer auth with role guards, single-use OTPs with lockout, secrets encrypted at rest, CSRF protection, and demo mode and OTP exposure off by default. A random must-change admin password is generated on first start.
- 04
Test coverage on risky areas
The test project covers route guards, ownership checks, uploads, login throttling, secret protection and fare maths; CLAUDE.md reports 234 passing tests.
- 05
Role-based admin panel
Super Admin, Admin, Manager and Customer Operator roles gate each screen, with Excel exports restricted to super admins.
Rider app
- Phone and OTP login with JWT
- Map booking with fare quote and live driver tracking
- Scheduled and hourly ride booking
- Split fare
- tips and referral invites
- Wallet
- saved cards and payment
- In-app chat with the driver
- ride history and notifications
Driver app
- Sign-up with document upload
- Online/offline toggle and live position sharing
- Ride offers with accept/decline
- Pickup and complete flow with cash payment confirmation
- Earnings (today
- weekly
- monthly)
- tips history and referral code
- Chat and ratings
Booking and fares
- Nearest-driver matching in RideDispatchService
- Fare maths in FareMath.cs from distance
- time
- vehicle type
- commission and promo codes
- Google Distance Matrix and geocoding client
- Dubai RTA trip reporting client
Payments and wallet
- Cash
- Stripe card and wallet payments
- Payment summaries and driver accounts
- Received vouchers and daily accounts in admin
Admin
- operations: Dashboard KPIs and charts
- Member and driver management with vehicle document verification
- Ride requests including split fare details
- Driver feedback and complaint handling with staff replies
Admin
- pricing and promotions: Rates per vehicle type
- Vehicle types
- General
- invite
- referral and special discount codes with Excel export
- Driver referral accounts
- commissions and invited drivers
Admin
- content and settings: Banners
- blog
- FAQ
- terms and HTML content pages
- Subscribers and messages
- Global settings for Stripe
- SMTP
- Google Maps key and more
- Admin user management
- Optional demo data loader
Public website
- Marketing site with home
- about
- contact
- drive
- ride
- FAQ and blog pages
- Terms and privacy pages
- Ride tracking page
Deployment and data
- SQL Server schema
- seed and upgrade scripts
- Dockerfile and .env-based configuration
- HowToSetup.md covering VPS install and building the apps
- Swagger API docs
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| Dart | — | — | Mobile app | 39.8% |
| C# | — | — | Web, API, admin | 25.9% |
| C# (Razor) | — | — | Web pages | 20.1% |
| CSS | — | — | Styling | 10.5% |
| SQL | — | — | Database | 2.3% |
| JavaScript | — | — | Front-end | 1.1% |
| Java | — | — | API | 0.2% |
| Swift | — | — | Mobile app | 0.1% |
| Shell | — | — | Scripts | 0.1% |
| Kotlin | — | — | Mobile app | 0% |
- Primary language
- C# on .NET 10 (API, admin); Dart 3 (Flutter apps)
- Framework
- ASP.NET Core .NET 10 (MVC + attribute-routed API); Flutter 3 with GetX
- Database
- SQL Server (Entity Framework 6); minimum version not stated in digest
- Authentication
- Phone + OTP by SMS issuing JWT Bearer tokens for riders and drivers; cookie session login for the admin panel
- Licence
- Single-site
- Screens
- 125
- Database tables
- 45
- Supported languages
- Rider app: 5 languages including Arabic (RTL); other apps not stated
- Browser support
- Modern evergreen browsers (Chrome, Edge, Safari, Firefox); no explicit browser matrix in digest
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| OS | Linux or Windows with .NET 10 runtime; Docker image and docker compose provided | Linux or Windows with .NET 10 runtime; Docker image and docker compose provided |
| Est. monthly hosting | $40 | $40 |
```bash cp .env.example .env # then edit the values docker compose up -d --build ``` API and admin panel at http://localhost:5080 (admin login at /admin/login).
Copy the project to the server, then run the same commands from the project root: ```bash cp .env.example .env # set DB passwords, JWT_SIGNING_KEY, Stripe and Google Maps keys docker compose up -d --build ``` Full VPS steps are in HowToSetup.md.
Quality report
Manually reviewedHow to read the quality report
What this is. Every project on Vibe96 goes through an automated audit of its source code before a reviewer in Dubai checks it by hand. The score is out of 100; 75 is the minimum to be listed, and any single failing check blocks a listing regardless of the score.
- Security
- No real credentials in the code, every data-changing route protected, admin areas role-gated, no SQL built from user input.
- Code structure
- A developer can navigate and extend it: clear module boundaries, no giant files, little copy-paste.
- Docs & completeness
- The setup guide, example config, schema and required files the builder committed to are actually in the archive.
- Dependency health
- Packages pinned, no known critical vulnerabilities, no abandoned libraries in production paths.
- Build & deploy
- A clean machine can restore, build and start it by following the shipped instructions.
Warnings are problems that didn't block the listing; they stay visible here until a later version clears them. The audit reads the code — it does not run it — so always try the live demo before you buy. Lines of code are counted from the same audited archive.
80/ 100
Automated audit score
✓ Approved by our review teamReviewer notes (4 minor)
No real credentials found; shipped default admin password and a seed-data credential note are weak defaults; likely buildable, but key manifests and setup steps were not visible; some stale artifacts and gaps; authz cannot be verified: no controller code shown; password hashing and demo creds are concerns; structure is navigable overall, but large vendored/ckeditor trees and some oversized files mix concerns; database review inconclusive: no query code visible; seed password hash and unverifiable schema/index coverage; lockfiles exist for .net, but vendored outdated js libs and unverifiable flutter/nuget versions. None of these stop the software from working; the developer has been told and improvements come in a future update.
Versions & updates
No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.
What you get
- </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
- ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
- ↻One year of updatesEvery new version the builder publishes, free for 12 months.
- ♧30 days of supportInstallation and defect support through Vibe96 tickets.