BhatBhate - Ride Sharing

Rohan Katwal
Rohan Katwal
· 3 min read

BhatBhate - Ride Sharing

What I Worked On

  1. Developed and maintained the Flutter mobile application for the BhatBhate ride-sharing platform.

  2. Implemented the ride booking workflow, allowing users to select pickup and destination locations and request rides.

  3. Developed user flows for both passengers and drivers, with role-specific features and interactions.

  4. Integrated Google Maps for map visualization, location selection, pickup and destination handling, and route-related functionality.

  5. Implemented real-time driver location tracking, allowing passengers to monitor the driver's location during an active ride.

  6. Implemented real-time ride status updates so passengers and drivers could stay synchronized throughout different stages of a ride.

  7. Integrated the Flutter application with the Express.js backend through REST APIs for authentication, user management, ride management, and other application services.

  8. Implemented real-time communication between users and the backend to support live ride and location updates.

  9. Worked with Prisma ORM for database operations and integration with the backend services.

  10. Worked with PostgreSQL for storing users, rides, driver information, and other application data.

  11. Implemented authentication and authorization for different user roles and protected application resources.

  12. Integrated Firebase Cloud Messaging (FCM) for push notifications and ride-related updates.

  13. Implemented application state management for different ride states, including ride requests, driver acceptance, active rides, ride completion, and cancellation.

  14. Developed reusable Flutter UI components for maps, ride information, driver details, ride status, and other parts of the application.

  15. Implemented proper loading, error, empty, and connection states to provide a reliable user experience.

  16. Worked on API integration, data handling, error handling, and synchronization between the Flutter application and backend services.

  17. Improved the overall performance, responsiveness, and usability of the mobile ride-sharing experience.

Key Features

  • Passenger and driver registration
  • Ride booking
  • Pickup and destination selection
  • Google Maps integration
  • Driver location tracking
  • Real-time ride status
  • Live location updates
  • Driver and passenger workflows
  • Ride acceptance and management
  • Ride cancellation and completion
  • Push notifications
  • REST API integration
  • Authentication and authorization
  • Real-time communication

Technologies Used

  • Flutter
  • Dart
  • Express.js
  • Node.js
  • JavaScript / TypeScript
  • Prisma ORM
  • PostgreSQL
  • Google Maps API
  • Firebase Cloud Messaging
  • REST APIs
  • WebSockets / Real-time Communication

System Architecture

The application follows a client-server architecture:

Flutter Mobile App → Express.js Backend → Prisma ORM → PostgreSQL

Real-time ride and location updates are handled through the backend's real-time communication layer, allowing drivers and passengers to stay synchronized during an active ride.