BhatBhate - Ride Sharing


What I Worked On
-
Developed and maintained the Flutter mobile application for the BhatBhate ride-sharing platform.
-
Implemented the ride booking workflow, allowing users to select pickup and destination locations and request rides.
-
Developed user flows for both passengers and drivers, with role-specific features and interactions.
-
Integrated Google Maps for map visualization, location selection, pickup and destination handling, and route-related functionality.
-
Implemented real-time driver location tracking, allowing passengers to monitor the driver's location during an active ride.
-
Implemented real-time ride status updates so passengers and drivers could stay synchronized throughout different stages of a ride.
-
Integrated the Flutter application with the Express.js backend through REST APIs for authentication, user management, ride management, and other application services.
-
Implemented real-time communication between users and the backend to support live ride and location updates.
-
Worked with Prisma ORM for database operations and integration with the backend services.
-
Worked with PostgreSQL for storing users, rides, driver information, and other application data.
-
Implemented authentication and authorization for different user roles and protected application resources.
-
Integrated Firebase Cloud Messaging (FCM) for push notifications and ride-related updates.
-
Implemented application state management for different ride states, including ride requests, driver acceptance, active rides, ride completion, and cancellation.
-
Developed reusable Flutter UI components for maps, ride information, driver details, ride status, and other parts of the application.
-
Implemented proper loading, error, empty, and connection states to provide a reliable user experience.
-
Worked on API integration, data handling, error handling, and synchronization between the Flutter application and backend services.
-
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.