DEV Community

Cover image for Zeep Service -Your Travel Partner(Low-Level Design)
Dhairya Pandya
Dhairya Pandya

Posted on • Edited on

Zeep Service -Your Travel Partner(Low-Level Design)

1

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

  1. Seamlessly integrated WhatsApp messaging with QuickWork and Google Sheets to create interactive dashboards, enhancing data visualization and user engagement.
  2. Developed a robust SaaS architecture using Google Firebase, leveraging its ecosystem to ensure a reliable and scalable platform.
  3. Designed an intuitive user interface with Material UI, making trip approvals and cancellations straightforward and user-friendly.
  4. Built a Dialogflow NLP chatbot that accurately understands customer intents, extracts key information, and integrates with Google Calendar for automated scheduling.
  5. Applied proven design patterns such as Adapter, Builder, and Singleton to optimize database connections and ensure a scalable application architecture.

Screenshots

2

3

4

5

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

Image description

(Zoomed in)
Image description
Image description

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

NotificationSystem.java
Image description

PaymentSystem.java
Image description

TripDetails.java
Image description

RatingSystem.java
Image description

CustomerMngr.java
Image description

Customer.java
Image description

VehicleDetails.java
Image description

Driver.java
Image description

LocationDetails.java
Image description

BoardingPoint.java
Image description

DroppingPoint.java
Image description

Passenger.java
Image description

SignIn.java
Image description

Login.java
Image description

This is the overall class Diagram of the application

Image description

ezgif-frame-004

Main Design Pattern

Observer Design Pattern

DriversChennel.java
Image description

Student's Subscription
Image description

Main.java

Image description

Simplifying the Analogy
Image description

Supporting Links
Github
Youtube Video Link

Top comments (0)