Logo

dev-resources.site

for different kinds of informations.

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

Published at
8/17/2024
Categories
system
designpatterns
designsystem
mobile
Author
dhairyapandya
Author
13 person written this
dhairyapandya
open
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

system Article's
30 articles in total
Favicon
You Won’t Believe What Happens When You Click ‘Upload’
Favicon
Understanding Commodore Operating Systems
Favicon
Implement LRU Cache
Favicon
Conway’s Law - How Organizational Communication Shapes System Design
Favicon
kafka deep dive
Favicon
Please Install It for Me
Favicon
Reconstructing Shopping Bill Dataset from OCR Data using Bash
Favicon
5 text processing tools `grep, sed, awk, cut, and tr` to score some marks in System Commands OPPE
Favicon
10 Linux commands to score 25 marks in System Commands OPPE
Favicon
AWS Systems Manager Session Manager Hands-on: Securely Manage Your EC2 Instances from Anywhere
Favicon
LED display principle and system composition
Favicon
The Power of System Integration Testing: 5 Transformative Benefits
Favicon
Unveiling the Crucial Importance of System Integration Testing
Favicon
System Integration Testing Guide: All You Need To Know
Favicon
6 Features of Invoicing Software That Simplify Your Workday in 2024
Favicon
Exploring System Integration Testing Techniques: A Comprehensive Guide
Favicon
A Comprehensive Guide to Multi-Tenancy Architecture
Favicon
Benefits of the Oracle Warehouse Management System
Favicon
array, dictionary, for and while loops to score 25 marks in System Commands OPPE
Favicon
Zeep Service -Your Travel Partner(Low-Level Design)
Favicon
5 Mistakes to Avoid While Going for System Integration Testing
Favicon
Reasons to Go for System Integration Testing in Software Testing
Favicon
Benefits of System Integration Testing Tools in 2024
Favicon
5 Tips to Choose the Best System Integration Testing Tool
Favicon
The Invaluable Advantages of System Integration Testing (SIT)
Favicon
RDBMS: Key Concepts and Principles of Relational Database Management System
Favicon
Mistakes to Steer Clear of During System Integration Testing
Favicon
The Vital Importance of System Integration Testing (SIT)
Favicon
Challenges in System Integration Testing and Opkey’s Solutions
Favicon
Everything You Should Know About Integrated System Testing

Featured ones: