The client is a gate and community management software company headquartered in Florida, home to an evolving network of gated communities. Although many are desensitized to gateway technologies, expecting keycards and pin pads to be responsive to entries and exists, the software behind that simple open and close mechanism translates into a complex code, analyzing each request for access and determining whether the access code aligns with the user database.
There are 20,000 gated communities in the US alone, and most new construction is incorporating this closed circuit design. Right now, gated communities are housing over 8 million people. Gate controller applications must accommodate fluctuated occupancy rates, a feature that translates into a highly malleable database environment. Unfortunately, the client lacked this feature in their community software selection.
Our project with this client focused on a manual generator tool for a gate controller application that, depending on the physical implementation of the gate controller, would be able to wire configuration changes when needed. The tool Chetu developed was engineered to receive each implementation from the controller, transforming the changes into logic rules, distributing outputs within the system accordingly. Their legacy system could not support their growing consumer base, lacking the scalability consistent evolution requires. Although the old gate controller application included a sorting mechanism, it was buggy with weak processing power.
Chetu sought to eliminate the shortcomings of the legacy software. The application is completely dependent on Apache CouchDB, an open source database software with a document-oriented NoSQL database architecture, to store values. This choice for the database was dictated by the client, after Chetu engineers weighed the pros and cons of CouchDB versus a relational database management system (RDBMS). Because the gate controller application would need to work cohesively with a preexisting architecture, Chetu forged an integrated development environment, incorporating elements of the native codebase to juxtapose the new application productively.
During the project progression Chetu leveraged the following technologies:
First, we setup CouchDB for the development environment. We created a replication from Admin Console, testing both synchronous and asynchronous replications extensively prior to moving forward. The application also required a PHP working environment; we implemented by installing APACHE and PHP on both the cloud and local server. This is where we nurtured a symbiotic relationship between CouchDB and PHP—engineering a project on NetBeans IDE using both infrastructures. NetBeans IDE facilitates the use of modular software components, a feature we needed to bring together all moving parts.
Following the environmental setup, we wrote a class to solidify the connection between CouchDB and PHP, as well as a class to perform all the operations the project demanded: create connections, create DB, draw tree view, extract the data from tree view, and add, update, and delete data. The database dictated where and under what conditions specific datasets would be stored, defining certain parameters to classify data under person or address, and maintaining the relationship between the two. This way when someone requested access to the gated community the application would be able to retrieve the connection between the name of the individual and their assigned living space.
Establishing those parameters required our engineers to write the following:
The client provided a cloud server, allowing us to commit the code in real-time. Ultimately, our application allowed administrators to easily add, edit, delete, and manage addresses and tenants to the database. At all times, the client would be able to access an overview of all of the person-address relationships, to make necessary changes or review information for accuracy. Considering the client wanted the database tool management system in a tree view structure, our application proactively utilized the tools necessary to facilitate unified, cross-page organization. Chetu released the final deliverable without any hurdles, allowing the client to go to market with their new solution immediately.
Copyright © 2000-2023 Chetu Inc. All Rights Reserved.