Truck Parking & More is my first published app and I want to explain more about the development process and libraries used to build out this project.
So I’ve been a Professional Driver for around 6+ years now. One of the major issues we run in to as an OTR driver is the lack of parking. Although there are State and Federal Agencies working on a resolution to this ongoing issue, the end isn’t in sight yet.
I’ve personally used a few of the truck stop apps that are out there currently while I was OTR, some of them had their perks but they also had some major drawbacks that I had contacted them about and it was never resolved.
That is when I had decided to create Truck Parking & More. I wanted an app that addressed those drawbacks of the other apps out there.
We have a hard enough time on the road as it is, why can’t we just make it simpler?
Truck Parking & More Overview
Originally I let user’s sign up under guest accounts, but then I decided to change that up to having them create accounts, this was to help with the social aspect of the app.
Users are able to leave comments/reviews, fuel/def price updates, parking status updates, and weigh station updates (opened or closed).
Letting the users create an account with a username and profile picture really helps bring in the social atmosphere to the app. It makes it more personable I feel.
The users can create an account with an email and password combo, once the account is created the user has access to the main section of the app.
The main section of the app allows the user to view locations on the map, check traffic, get information about the locations on the map, update their user profile, manage the in-app subscriptions, contact us screen, and a few others.
One of the biggest benefits that I’ve added into the app a few releases ago was the sliding weight section of the app. When the user is overweight, all they have to do is input their current weight from their scale ticket, hole spacing, and the current hole and it will give them the updated weight along with the hole they should be in as well as any info about sliding the 5th wheel they might need to do in order to be within a legal weight.
I feel this is a good tool to have especially for the newer drivers out there who didn’t have a good enough trainer to explain all of this to them.
Along with everything else the user can also subscrbe to get weather information for each location in the app. This can help with trip planning. They can pick a better route that goes around a storm instead of having to waste time having to fight through the storm or shutting down until the storm passes.
I feel that the biggest benefit to the app is the Truck Specific Routing and Navigation. Some drivers use Google Maps as their navigation, but they fail to understand that the routing they get from that isn’t always going to be a safe route for trucks to go through.
What Cloud database did I use?
I went with Firebase for the cloud. I knew that using local storage via ROOM wouldn’t be very effective as when more locations are added to the app I would have to make new releases. Using the cloud everything can be updated right away for the user.
Some of the libraries that I use with Firebase are Firebase Firestore, Firebase Authentication, Firebase RTDB, Firebase Crashlytics, Firebase Cloud Functions, and Firebase Storage.
Firebase Authentication is used for creating the user accounts and verifying logins.
Most of the data is stored within Firebase Firestore with a little bit in the Firebase RTDB.
Firebase Crashlytics is quite helpful. If there are any crashes on the user side, I can check the crashlytics and better determine the root cause of the crash as well as which line of code within the app caused the crash.
I use firebase cloud functions to update things like parking availability, fuel/def pricing, comments/reviews, weigh station status updates, and user account management.
Firebase Storage is used for storing the profile pictures as well as any pictures the user wants to add to the comment/reviews section for each location.
What mapping software did I use?
When I first started out I went with Google Maps SDK for the main map section of the app then for the Truck Specific Routing & Navigation I went with HERE Maps SDK.
I have since switched everything over to TomTom Maps SDK and TomTom Navigation SDK.
Using the same mapping software company for the app has really made things better for the coding aspect as well as the user aspect.
With TomTom I’ve always had help from the developers of the SDK’s when I needed it, that wasn’t the same case with the other mapping software companies.
What is different about this app than the others out there?
The main reason why I wanted to create this app was the fact that with the other apps available at the time, the users could update the parking availability even when the user wasn’t on location.
So if someone wanted to try and make sure they would have a spot where they wanted to shut down at after their done driving for the day, they would often times go to that location within the app and update its parking availability to no parking spots left, and they would do this while heading to that location.
This would in turn cause other users to not want to try to see if there was parking at that location because it was marked as full and we don’t really have time to waste on our Hours Of Service to pull off and into the location to take a gamble that maybe there is a spot of not.
Some of the other apps had weather forecasts in the app that were free or even as a subscription service, but I noticed that some of the apps discontinued the weather portions of the app.
I understand that there are other apps out there dedicated to weather, but I feel that having it all in one place when trying to trip plan can make quite the difference.
If you want to download and try out this app you can find it on the Play Store.