Zeep Service -Your Travel Partner(Low-Level Design)
Dhairya Pandya
Posted on August 17, 2024
Introduction
Zeep Service is a mobile application designed to facilitate commuting for students between their homes and campus. It provides a unified platform for both drivers and passengers, enabling efficient travel management. Drivers can view and manage their passenger lists for each trip, while students can book rides either through subscriptions or on a per-day basis, with the flexibility to cancel if needed.
The app also features real-time notifications for both drivers and passengers, allowing drivers to see the total number of riders for upcoming trips, and passengers to accept or decline rides. Additionally, it includes a WhatsApp bot for easy communication with customer support and a dashboard for monitoring app usage.
For reliability, Zeep Service integrates Crashlytics, which monitors and reports application errors, including detailed crash data. Automation processes within the app are powered by Quickwork, a Mumbai-based automation company.
Highlights
- Seamlessly integrated WhatsApp messaging with QuickWork and Google Sheets to create interactive dashboards, enhancing data visualization and user engagement.
- Developed a robust SaaS architecture using Google Firebase, leveraging its ecosystem to ensure a reliable and scalable platform.
- Designed an intuitive user interface with Material UI, making trip approvals and cancellations straightforward and user-friendly.
- Built a Dialogflow NLP chatbot that accurately understands customer intents, extracts key information, and integrates with Google Calendar for automated scheduling.
- Applied proven design patterns such as Adapter, Builder, and Singleton to optimize database connections and ensure a scalable application architecture.
Screenshots
Usecase diagram of the Application
When building a Van Service application, it's essential to map out how each part of the system interacts. A flowchart provides a clear and concise visualization of these interactions, helping both developers and stakeholders understand the entire process. Let’s explore the flowchart for a typical Van Service application, highlighting the key steps and decision points.
Requirements for Each Actor in the Van Service Application
Customer
-
Registration:
- Must provide a name, email, mobile number, and password.
-
Login:
- Authenticate using email and password.
-
Passenger Information:
- Specify type of user (Driver, Passenger), gender, city, and subscription type.
-
Location Details:
- Provide college name, boarding point, and dropping point.
-
Ride Management:
- Can generate a Customer ID using name, email, mobile number, and password.
- Can cancel a ride on a specific date.
- Must be able to submit a complaint to the Complain Registry if necessary.
Driver
-
Profile Management:
- Provide driver-specific details: name, age, driving license (as an image), conductor name, vehicle registration details, and rating.
- Validate driver's information: name, age, license, and vehicle registration.
-
Vehicle Details:
- Specify vehicle information including model name, company name, type, seating capacity, and number plate.
- Upload vehicle-related images: pictures of the vehicle, driving license, and number plate.
- Validate vehicle details.
Passenger
-
Registration:
- Must provide the same registration details as a customer, including name, email, mobile number, password, and city.
- Additional details include type of user, subscription type, and boarding point string.
-
Journey Management:
- Can select and verify the time of dropping and boarding point details.
- Calculate journey time based on start and drop-off times.
Admin (Customer_Mngr)
-
Customer Management:
- Oversee and validate customer data including customer number, selected driver, and manager ID.
- Validate drivers assigned to customers.
-
Matching Algorithm:
- Execute the matchmaking algorithm to pair customers with available drivers.
- Manage a list of customer IDs and driver IDs for matching purposes.
Complaint Registry
-
Complaint Management:
- Register complaints with details such as complaint ID, type of complaint, status, and the customer who raised the complaint.
- Handle the status updates and resolutions of complaints.
Location Details
-
Location Information:
- Provide and update location details such as the college name, city, and both boarding and dropping points.
Signin/Signup Process
-
User Signup:
- Collect essential signup information, including name, email, mobile number, user type, gender, and password.
-
User Login:
- Authenticate using the provided email and password.
Dropping and Boarding Points
-
Journey Management:
- Specify the dropping point details like time and location.
- Calculate journey time based on start and dropping times.
- For boarding points, provide information on the number of other people, boarding time, and journey time.
Given below is the Use case diagram for the application
Class Diagram
In developing a robust and efficient Van Service application, having a well-structured class diagram is essential. The class diagram serves as a blueprint, providing a detailed view of the system's structure and the relationships between its components. Below is an overview of the class diagram for our Van Service application, highlighting the key entities and their interactions.
Here are some of the classes that are formed here
This is the overall class Diagram of the application
Main Design Pattern
Observer Design Pattern
Main.java
Supporting Links
Github
Youtube Video Link
Posted on August 17, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.