Miles apart,
clicks away

VE’s journey to creating a fleet management app that digitally connects truckers and companies.

Industry Trucking
Number of Resources Hired 17
Client Since 2022
Corey Goodman's Reminder set for Break, drive, Shift, Cycle Connect ELD with other device

Introducingthe app

Think of a smart system where truck drivers can easily check their daily tasks and update their work status right from their phones. It’s like a smart assistant for truck drivers and the companies they work for truck drivers and the companies we work for. On one side, truckers get a mobile app to help them with their day-to-day tasks and track their work. On the other side, companies use a website to keep an eye on how their drivers are doing. It's like a bridge connecting drivers and companies, making sure everyone stays in sync and on track. All in all, TruckPath is the ultimate toolkit to manage and monitor a whole fleet of trucks with ease!

Architectural blueprint

Every project's backbone is a well-drawn plan. Here’s a breakdown

Sentinel

This is the web portal where managers can set permissions for driver accounts and track how drivers are performing.

Assigned Drivers Names

Backend Database

Sentinel and the mobile app need a place to store and share data. That's what the backend database is for.

Create Function

TruckPath App

This is a mobile app for drivers. Drivers use them to update their work status and get information from the truck's hardware systems.

Corey Goodman bluetooth connected

Core Principles

  • Calculate driving hours.
  • See driver's logs.
  • Communicate in real-time.
Corey Goodman bluetooth connected

Hardware On-Boards

This is equipment placed inside trucks. It collects important data like how fast the truck is going, how long the engine has been running, and where the truck is moving, how long the engine has been running, and getting the truck's location.

Hardware On-Boards

From ideation
to implementation

Every journey has its milestones. Here’s the route taken
Crafting a User-friendly UI/UX
Shaping the foundation with Backend and API development
Building the two
pillars: Mobile app and Website
Incorporating offline data functionalities
Ensuring durability through rigorous testing
Refining the path with code optimization
Mobiles screens showing status- Break, drive, Shift

Platform Selection

To make our app work on both Android and iOS devices, we used the right
programming languages for each platform.

For iOS devices (like iPhones and iPads),
we used Swift. Here's why:

Swift Icon Swift is the official language for iOS

Apple, the company behind iOS, recommends and supports Swift. It's made specifically for iOS, so it works really well and fits right in with iOS devices.

UX icon Better User
Experience

Swift is designed to work smoothly with iOS. This means that our app feels natural and responsive on iPhones and iPads.

Ios logo Access to iOS
Goodies

Using Swift gave us access to all the latest iOS tools and features. This allowed us to take full advantage of what Apple offers, making our app even better for iOS users.

For our Android app,
we went with Java. Here's why:

Java Logo Native to Android

Java is the top choice for building Android apps, according to Google, the maker of Android. It's like the perfect match for Android devices.

Farm Safety Reliable and
Efficient

Java is known for being dependable and efficient. This helped our app perform well on a wide range of Android gadgets, from phones to tablets.

Android Logo Android Ecosystem

Java gave access to Android-specific resources. These include libraries and tools that let our developers use Android's unique features, making our app top-notch for Android users.

Tracking Work Hours

The app helps users track their hours. It has easy-to-use features like dropdown menus, date-time pickers, and a clock-in/out system. It does the math to calculate the total hours worked and checks if it's in line with transport rules. All this data is saved in a storage system or 'database'.

Database Design

We used PostgreSQL to create tables for storing user data, trip details, and work status.

Data Access

Instead of a common method called REST, we used GraphQL. This lets them get data more flexibly. 

Tracking Work Hours

Connecting with Truck Hardware

The app can connect to truck devices using Bluetooth or a special connection method. We use specific tools (SDKs) to understand data from these devices and might have alerts for the driver if something's wrong.

SDKs

These were tailored to each hardware device, enabling the app to interact seamlessly.

Bluetooth 4.0

Used for real-time communication with devices.

Connecting

Live Tracking

The app uses GPS to track locations and show them with visuals like maps. Displaying this data in a comprehensible manner involved UI elements like maps, gauges, and progress bars.

GPS APIs

Gets the device's exact location.

Mapbox SDK

Shows locations and paths on the app.

Live Tracking of a truck

Website Development

Truck Path- Company Profile

Choosing Tech Tools

We built the website using a technology stack called MERN, which includes MongoDB, Express.js, React, and Node.js. The part you see on the website (front-end) was made with React JS, a flexible tool that works well on different devices.

React is great for creating interactive features, and we used tools like Context API and Redux to keep things organized and consistent in the website.

Choosing Tech Tools

Viewing Data

To display data in the form of charts and graphs, we used tools like Chart.js or D3.js. The data that these charts show is generated by the backend of the website, which crunches the numbers to give insights, like how well a driver is doing.

Authentication and Security

We made sure that only authorized users can access the website by using technologies like OAuth 2.0 and OpenID for secure login. We also used JWT Tokens to exchange information securely.

User Access Levels

We set up a system where different users have different roles, like admin, driver, or manager, and each role has specific things they can do on the website.

Getting Data Out

We made it possible for users to download the data in formats like CSV or Excel, so they can analyze it further on their own.

Efficient Data Handling

For handling large amounts of data, we used something called Node.js Streams, which is a way to work with data efficiently, especially when dealing with big datasets.

Technical insights

We used a mix of things like MERN stack (which is a popular set of tools for web development), AWS (a place to run and manage
online apps), and Stripe (for money-related operations).

Design Principles

Website:

Employed MVC (Model-View-Controller)
for code organization.

Phone App:

Adopted MVVM (Model-View-ViewModel)
for mobile UI adaptability.

Project Management:

Agile and Scrum methods ensured adaptability
and efficiency.

MVVM Architecture
Diagram illustrating technical choices for mobile app development by Truckpath

Important Technical
Choices We Made

  • First, we used AWS Lambda. Later, switched to a simpler system (Monolithic) and then moved to a more divided system called Microservices.
  • Showed real-time locations using a socket.io tool.
  • Set up strong protection against big-scale cyberattacks (called DDOS attacks).
Image showing Doc

Technical Documentation & UI/UX

  • Created user stories and used case diagrams, similar to making a to-do list.
  • Used entity relationship diagrams (ERD) like maps to show how database information connects.
API Integration

Backend Development & API

  • Implemented API versioning to ensure old versions still work when we update.
  • Added rate limiting to protect servers from too many requests, ensuring a smooth user experience.
You are offline

Offline Data Support

  • Enabled app use without internet by using Service Workers to save information on devices.
  • Utilized tools like WebSQL or localStorage to keep important data on devices, eliminating the need for an internet connection.
Testing

Testing & Optimization

  • Conducted load testing with tools like Apache JMeter to check if the server can handle a large number of users without crashing.
  • Performed integration testing to ensure different parts of the software work well together.

Creative solutions
& continuous integration

The project faced number of challenges, including design issues and continuous data updates. But we found
creative solutions for each obstacle, keeping the project on track.

Innovative Alterations

  • Added local notifications for user reminders.
  • Implemented silent API calls for background communication.
  • Enhanced data storage methods for security.

Continuous Integration (CI)

  • CI serves as a quality check before adding new work (e.g., code changes).
  • Used tools like Jenkins or Travis CI to automatically test new additions, ensuring everything is in order before implementation.

Containerization with Docker

  • Docker ensures consistent project performance across different environments.
  • It acts like a portable container, guaranteeing uniform operation wherever it's deployed.

Safeguarding Information

HTTPS

Data Encryption

  • Employed bcrypt to scramble sensitive data, such as passwords, before storage to prevent unauthorized access.
  • Ensured data safety during transfer by adhering to HTTPS protocols, which established secure connections to protect the information in transit.
  • Our approach involved encryption at rest and in transit, safeguarding data both when stored and when it's on the move.
Lock Icon

Multiple Security Measures

Used several ways to keep data secure:

  • Made sure only authorized people could access the data with things like usernames and passwords.
  • A system to manage special "tokens" that confirm someone's identity.
  • Had defenses against massive, harmful internet attacks known as DDOS.
Backup

Backup Plans

We had a copy of the data in different places. This was done in three ways:

  • Copies of the database, known as DB replicas.
  • Backups were stored in something called S3, which is like a huge online storage.
  • Also, we kept some backups on local storage, meaning close-by computers or servers.

Teamwork & tracking

This is about how the team worked together and kept records of their work.

Mobile Screens

Designing with Figma

We used Figma as a digital sketchpad to visualize early design versions.

Tasks

Task Organization with Clickup & Notion

We organized tasks with Clickup and Notion, digital planners that kept us organized and on track.

Coding on Github

Coding on Github

We coded on Github, a collaborative platform that tracked changes and allowed easy error correction.

The team behind
the success

Arun's Image

Arun (Team Lead)

A full-stack developer

5.5 years of experience.

Jitendar's Image

Jitendar

Specializes in Node.js

6 years of experience.

Aarush's Image

Aarush

A full-stack developer

3 years of experience.

Ulash's Image

Ulash

Software Development

4 years of experience.

Arvind's image

Arvind

Backend Developer

4 years of experience.

Mousami's Image

Mousami

Backend developer

11 years of experience.

Ashish's Image

Ashish (Team Lead)

Expertise in Java and Kotlin

11 years of experience.

Saudaminee's Image

Saudaminee

Android Software Development Engineer

5.5 years of experience.

Ajay's Image

Ajay

Android Software Development Engineer

7 years of experience.

Raahul's Image

Rahul

Android Software Development Engineer

4 years of experience.

Raadheshyam's Image

Radheshaym (Team Lead)

Specializes in web QA

19 years of experience.

Vidhi's Image

Vidhi

Mobile QA specialist

8 years of experience.

Aishwariya's Image

Ashwariya

Frontend developer

4.4 years of experience.

Satakshi's Image

Satakshi

Frontend developer

3 years of experience.

Nishant Image

Nishant (Team Lead)

Specialist in Swift

6 years of experience.

Dipesh Image

Dipesh

iOS developer

6 years of experience.

Rajesh Image

Rajesh

DevOps specialist

9 years of experience.

Navigating obstacles

Like any large project, the App encountered some difficulties. Here are the issues and
our approach to resolving them:

AWS logo

Handling More Data

What was the issue?

As more trucks and drivers joined, we had to manage more and more data.

How did we solve it?

We used a tool on AWS (a cloud service) that automatically adjusts to handle the added data, without needing someone to do it by hand.

Cloud Sync

Keeping Data in Sync

What was the issue?

Drivers are in different time zones and sometimes go to places with bad internet. This made it hard to keep all their data updated and in one place.

How did we solve it?

We designed the system so that data is first saved on the driver's device. When the driver gets internet again, that data is then sent to the main system.

Legal services

Following the Rules

What was the issue?

We had to make sure we were always following transportation laws. Also, we needed to keep their software up to date with those laws.

How did we solve it?

We made a special team whose only job is to watch for law changes and update the software as needed.

The Vision and Success of the app in the Trucking Industry

Technology wasn't just the driving force behind the app and website creation; it was also about simplifying and enhancing the trucking industry's operations. A blend of the right technology, expertise and collaboration led to the project's success. It’s more than just a digital solution; it’s a testament to what can be achieved when innovation meets dedication.