A B2B2C solution with Web, Mobile, and IoT-connected applications that aim to revolutionize the public storage industry.
Client
The American Storage South project required the creation of an integrated system for self-storage facility management and virtual assistance, along with electronic smart locks that opened via an NFC reader. Their facilities are located in Harrisburg and Concord, North Carolina.
Challenge
The client came to us with a project to create a white-labeled solution for facilities management, i.e. creating units, assigning locks, renting and leasing units, payments, and billing. After a few weeks of the design phase, we created a complete set of mockups of the first app version and a technical architecture consisting of the following modules:
Solution
The client had a web version of the app developed by another company. It was an early development version that wasn’t intended for live use. We reverse-engineered the code structure and found out how it worked with third-party APIs.
Our first goal was to establish a link between the app and the SiteLink API to allow for the sending and receiving of information regarding payments and unit bookings. However, we encountered many problems with the lack of API documentation and the app’s inability to work with individual clients.
After the SiteLink integration was completed, we started to work on the video call service for facility managers and onsite clients. We needed to ensure these calls were user-friendly and productive by making the remote assistance as helpful as possible. The manager side of the project evolved into creating a camera management system to monitor visual feeds in addition to the virtual assistant services.
The fourth milestone involved working on the NFC locks and implementing an NFC reader into the app, registering locks in the system, configuring them through an admin panel, and building a function for overseeing all operations via the admin panel and facility manager app.
The first challenge we encountered was integrating the SiteLink API, as their documentation lacked information on crucial features. Their methods were not documented well enough, some of them didn’t have any documentation at all, which led to hours of communication with SiteLink’s support and us updating their API methods and documentation.
There was also an issue with the number of requests sent to the SiteLink API. Sending and receiving large amounts of data, like payment records, resulted in errors and poor app performance. This required extensive backend optimization and the implementation of request caching to reduce the workload on the SiteLink end.
Upon completing the integration of the SiteLink Mobile Backend, our focus shifted to integrating StoreEDGE, which is another facility management solution. We had to navigate the complexities of connecting the mobile app with two facility management systems using our backend as a hub for restructuring requests. To address this, we introduced a bridge solution between our API and the third-party application. This enabled our API to maintain its desired structure regardless of whether SiteLink or StoreEDGE (or later Ready Steady Storage) was involved in the requests. This approach led to updates in the app to accommodate differences between the SiteLink and StoreEDGE data.
To ensure compatibility across all platforms, we chose a browser-based solution. We leveraged TokBox (Vonage) and WebSockets for video calls and wrapped them into our own JavaScript app to help with statistics and create a waiting room. To resolve difficulties with Tokbox’s asynchronous behavior, we implemented a series of health checks, a YouTube-like stream quality adjustment, and a manual call repair to reduce downtime and call interruptions.
We introduced S3 Object storage and data security techniques like stream encryption and key management to save and store video call records from TokBox. As a result, the video call feature evolved into a separate admin panel, empowering administrators to grant permissions to managers.
The next significant step was developing white label functionality, which allowed other self-storage companies to use the application under their own branding. We made two major changes in the app to create this feature.
The entire backend data structure was modified to introduce a “company” entity. Facilities, users, and units were linked to the company. A new ‘Super Admin’ role for KISS solution employees was added to the Role-Based Access Control, and the white-labeled company employees became admins. The mobile app was made to allow admins to customize it, i.e., add their logos, colors, and other branding. Renters are now able to select their desired storage company from within the application.
Company managers can now share links to download the app, ensuring an easy transition to a customized version of the app that reflects the company’s identity while also following Google Play and AppStore guidelines.
Another part of the project involved integrating the Rhombus camera API to create a video wall displaying camera feeds. The backend operations needed to address issues like feed stability, network performance, false alarms in motion detection, and unexpected changes in 3rd party libraries.
The last significant aspect was developing a lock management app that works via NFC. We created a new mobile app for facility managers and added the lock/unlock, and share unit access functionality to the renter’s mobile app. This function allows users to walk up to their prepaid storage facility and, with a single tap of a fortified lock assembly, gain access to the facility. ONE Lock’s NFC capability allows authorized users to share facility access by simply texting an access code to a third party. This access is on a timer, which automatically revokes access after a set period of time.
Results
All subprojects were successfully completed, and bugs and usability issues were quickly ironed out. A technical aspect that may require future improvements relates to the system’s project architecture. Instead of splitting the project into two monolithic services, it may be worthwhile to explore one of two main approaches: consolidating the entire project into a single monolith or implementing a microservice-based architecture. The latter approach offers better reliability and scalability at the cost of a longer implementation period.
However, the current architecture was shaped by factors such as limited information about the project’s future plans and changes in business requirements. The decisions made reflect a balanced approach that prioritizes code quality while still meeting the project’s practical requirements.
Right provider for complex projects
DevTeam.Space built a custom web portal for a hedge fund. They handled a complex development project, remaining organized and professional throughout. They’re accessible and tackle any challenge. Customers can expect a quick and skilled development team.
Singapore
Talented, responsive and reasonable!
We manage the IT for an almost 100 year old international Not-For-Profit Foundation. Between our inhouse team and DevTeam.Space we made our deadline, and have received overwhelmingly positive feedback from the end-users and management.
New York, NY
DevTeam.Space rocks
We needed a new long-term product development partner to identify the issues, and ideally, take over the entire product. The performance of our shipping platform increased dramatically since DevTeam.Space stepped in. We plan to continue working with them on a long term basis.
Fort Lauderdale, Florida