Client location

California

Industry

IoT

Duration

1 year

Team

6 members

Customer

Our customer is a California based branch of a well-known enterprise company that specializes in solutions for connected devices in the Smart Home domain.

Need

The main goal of the project was to create a system of integrated devices in Smart Home that allows customers to monitor gas, water and electricity consumption remotely via a mobile app and a web dash board.

It took our customer a while to find skilled engineers that specialize in programming for iOT devices. They also realized the importance of proper testing of a solution on the software and hardware side. A lot of equipment was delivered to Eastern Europe from the USA to develop a solution on real devices when the emulators could no longer be used. 

Project deliverables were distributed across three sections:

  • Task Automation - scheduling or triggering actions based on predefined conditions or user preferences (for example smart sockets)
  • Energy Management - monitoring and optimizing energy consumption by controlling lights, and thermostats.
  • Environmental Monitoring - monitoring and analyzing temperature, humidity, and air quality.

Solution

Physical devices embedded with sensors were connected to the Cloud. Devices could be controlled remotely from the Mobile application and a Web Dashboard. Also, system architecture provided real-time monitoring, control, and data exchange between devices, cloud platforms, mobile applications, and web dashboards.

The platform used devices for Smart home automation such as Central IoT controller (gateway), smart sockets, air sensors, water sensors, security sensors, etc.

Team structure 

  • Tech Lead 
  • QA engineer
  • 2 Senior Full-stack developers
  • Senior Embedded Developer
  • Middle mobile developer

For a year a team of 6 dedicated engineers was working on the project managed by a PM and a product owner from the customers side

Before our customer settle down with our company, it took them a while to find skilled engineers that specialize in programming for iOT devices. They also realized the importance of proper testing of a solution on the software and hardware side. A lot of equipment was delivered to Eastern Europe from the USA to develop a solution on real devices when the emulators could no longer be used. 

Front-end: 

The front-end part contained (20-25 screens) from Mobile application and (~20 pages) of Admin Management Dashboard .

In the mobile application, it was necessary to implement many graphs and ensure high performance for real-time data 

Back-end: 

The cloud part had to support a high load (up to 10 M) of messages per second.

Compiled from many microservices and brokers. 3 types of databases were also used - relational, non-relational, and graph

All infrastructure was described with Terraform configs.

Testing of the solution: 

  • Manual QA (Hardware testing, Front-end, business logic)
  • Unit testing (Code level)
  • Integration tests, Runscope (API)

Security

  • All data was encrypted. 
  • For the user Sign-in/sign-up process used Auth based on JWT.
  • For microservice communications used certificates.
  • Databases encrypted by AWS cloud mechanism.

Platform

AWS RDS
AWS IoT Core
AWS EC2
AWS SQS
AWS Lambda
AWS Timestream

Back-end

Python
C++
ESP-32
STM-32
Node.js

Front-end

React.js
Redux
Redux-Thunk
React native
Dynamo DB

Databases

AWS Timestream
AWS Dynamo DB
AWS RDS

CI/CD setup

Circle-CI
Docker
Kubernetes
AWS ECS
Terraform

Tests

Manual QA (Hardware testing, Front-end, business logic)
Unit testing (Code level)
Integration tests, Runscope (API)

Get in touch

As a custom software development company, Four Ages is here to align your vision with practical solutions. 

Briefly detail your needs, and our representative will contact you shortly.

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form.