Portfolio project: Smart Energy Mangement (SEM)

Mouadh Amemri
4 min readMar 27, 2022


Logo of the app

Dashboard page

Smart Energy Management (SEM) is an android application for the monitoring of climate data based on Internet of Things (IoT).

This blog describes the process of making our portfolio project, which is done for Holberton school at the end of the foundation year.

To keep things organized let’s ask some questions and try to answer them one by one.

Internet of Things (IoT) is a system of interrelated computing devices, mechanical and digital machines, objects, animals or people that are provided with unique identifiers ( UIDs) and the ability to transfer data over a network without human intervention.

- Why we chose to work on this project? — What is the project’s inspiration? — What exactly is the purpose of our project? — What are The Technology & Architecture used in our Project? — What about technical interests as a result of our Project ? — What are the challenges have we discovered about our project? — What we learned about yourself as an engineer and how this project informs our engineering path in the future?

The passion about the IOT was our common purpose to do this project , so we thought it would be cool to do a project focused on IoT.

The project is a monitoring system that indicates the value of some parameters such as:

-The humidity of the air

-The temperature

-The electricity

-The gas leak

The aim of our application is to have the visibility of different parameters

at someone’s house and to intervene at time when needed.

For us it was a fully challenging project, we used technologies that we don’t know and we have never tried before that’s why we chose to do all parts by collaborating together so we all can learn and work with those new technologies.

After that, we do a lot of researches before beginning our Project, we search to determine whether there is enough information out there for our needs and to set the context of our research. We look up in other sources such as our internet search engines.

Mouadh amemri: student at Holberton school .

Yassin bouabid: student at Holberton school.


Flutter is an Open-Source UI SDK developed by Google. It allows the development of iOS/Android apps and uses Dart as the programming language. Dart is an Open-Source, client-side programming language. It is easy to learn, stable, and creates high-performance applications.

Arduino is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices.

Firebase is a Google-backed application development software that enables developers to develop iOS, Android and Web apps. Firebase provides tools for tracking analytics, reporting and fixing app craches, creating marketing and product experiment.

Learning new technologies such as: Flutter, Arduino,Firebase… in a breif period of time. We have discovered many cloud platform and their features offered for developers community. Working with ESP32 and Rasperry Pi.

The most difficult technical challenge we encountered in the project:

IoT is a multiple technologies related to each other, So the linking and the synchronization between those different technologies was the most technical chalenge. The choice of the right hardware to use also is not simple.

The most difficult non-technical challenge we encountered in the project:

  • Understanding the concept of Internet of Things: Now each team member have a good experience working with an IoT project.
  • Security and protecting privacy: Working with google Firebase platform (Authentication, cloud firestore) to protect Data of each user.
  • Professional API’s: To create an API you should do a lot of work.

For non-technical challenges, we’ve tried to work in a team so we encourage each other to share constructive criticism and praise respectfully. Each individual’s experience and talents play into their unique perspective to tackle problems and tasks. No one’s opinion should be discredited.Our work progressed smoothly because we are using git branches pulling requests and a lot pulling requests and a lot of tests before deployment of smart contract and committing new code. also we think about the processing and progressing as planned , so we split the work among us making sure we discuss every step before hand. And we should mention that delevering the project in time was one of the biggest challenges.

On the personal level this project has taught me a lot of things such as:


- Manage my time effectively. — Working under pressure and to respect deadlines. — To be open and to learn new technologies and to work with them in a brief period of time. — Understanding the concept of android app and how it is structured. — Building an android app using Flutter (based on Dart programming language). -Implementing ESP32 using Arduino programming language (which is similar to C++). -Collect and manage users athentication and database storage on Firebase.

The internet of things helps people live and work smarter, as well as gain complete control over their lives. In addition to offering smart devices to automate homes, IoT is essential to business.

*GitHub link for the project: https://github.com/mouadhx04/Smart_Energy_Management

*LinkedIn profile: https://www.linkedin.com/in/mouadh-amemri-2779a6200/

Originally published at https://medium.com on March 27, 2022.