Web app Cloud access platform for Smart homes
About the Client: HomeSeer is a US-based technology firm specializing in smart home solutions, ranging from simple controls to sophisticated automation. Users of their app can monitor and manage various aspects of their homes, such as lighting, thermostats, door locks, sensors, water valves, security cameras, media devices, and more. Additionally, the application offers a remote access platform, allowing users to control their smart home systems from anywhere.
Challenge: The client had an existing web application but encountered problems related to outdated architecture, as well as insufficient flexibility, scalability, and compatibility with third-party components. Their initial request involved upgrading the software, which entailed rewriting the current functions with a more modern approach, refreshing the technology stack, and, most importantly, developing a new app architecture. A significant challenge was the uncertainty stemming from the fact that no one had been actively maintaining the application for an extended period. The client lacked clear technical specifications, the tasks were not well-defined, and changes were being made on the fly. Additionally, there was a scarcity of technical support, with no one available to explain how parts of the system functioned, how features were implemented, and the reasons behind certain decisions.
Approach: We began the development process by designing a new app architecture and dividing it into subprojects. Next, we focused on configuring the architecture, which included implementing a dependency injection mechanism, establishing communication with the database, detailing and configuring all business entities, and setting up logging. We then proceeded to implement a comprehensive authentication and authorization process, tackling functionality block by block. Ultimately, we restructured nearly all the features of the original application while establishing a new architecture. In practice, this entailed: