As I mentor people who are getting into IT, Iāve noticed a gap in the learning resources they tend to use. There are plenty of courses that allow you to follow someone making an application. Unfortunately, following along with someone is not how one usually works. Normally, you get a set of requirements, and from there, you start figuring out a solution that allows the user to achieve their goals.
To give my mentees the possibility to experience a real-world workflow, I give them a description of a simple but useful application. Here, Iāll present an improved project introduction, so you will be able to repeat a similar exercise as well.
Project overview
As a person living through weather catastrophes and energy crises, I want to monitor precisely my electricity usage. I want to create an application with which:
- I set my energy tariffāthe fixed monthly cost, and how much is charged for each used unit
- I can record my energy meter value at any time
- the application presents back estimated energy costs for each day or hour, so I can adjust my air conditioner or heating to my budget
Goals
The user of the application should be able to monitor their energy consumption in āreal timeā. Instead of waiting a month or two for the bill to arrive, they should have a solid estimation of how much energy theyāve used so far. So, when they find themselves in a new situation, such as:
- moving to a new place,
- installing new heating or air conditioning units, or
- tariffsā change,
they will be able to see and control their spending.
A secondary use case would be to evaluate the cost of using different appliances. So, for example, by controlling whatās running and when, the user could estimate:
- how much it costs to run the washing machine or dishwasher
- keeping a thermostat at different temperatures
- spending a whole day baking like itās 2020
User stories
User stories describe what the user can do in the application, from their perspective. They remind the programmers about how people will use the application, and they test scenarios that can be used to make sure the application works as expected. The format of user stories is usually somewhat repetitive, as you will see in the examples.
Configure tariff
As a user, I want to configure my energy tariff, by setting:
- fixed costsāmaintenance, connectionā or whatever the provider calls the part of the bill that doesnāt depend on the usage
- cost by unit of energyāwhat is paid based on the consumption
Those values should be saved in the application and be changed only once every few months: when there is change to the tariff.
Record measurements
As a user, I want to record my current readings of the energy meter. I want this data to be stored for later useāso I can create a log of readings that can be used for estimating consumption in a given time. For example:
- I record the value of the meter every morning to create a log of usage on different thermostat settings.
- I record the meter before starting the washing machine, I keep my other usage minimal while it runs, and then I record the value after the program is done.
Review usage and cost estimation
As a user, I want to be able to read cost estimation based on the data I collected. For a start, it could be a simple table of starting time, end time, energy consumption, and cost. In further interactions, it would be great to have some charts with daily or hourly energy consumption.
Deliverables
The first exercise for my mentees was to draw on a piece of paper the interface that they see for this application. It turned out to be a very good ideaāapparently, the āobviousā interface I had in mind is everything but obvious, and everybody had slightly different ideas for how to implement it. When you work with a client, itās important to get their feedback as soon as possible, without wasting time on building stuff they donāt need.
This is an approach I presented earlier in How to Collect Inputs for Your Project. When I have enough examples of different peopleās approaches to this project, Iāll share them on the blog as wellābut the goal of this exercise is to start with a white piece of paper and requirements. This forces one to imagine an interface that implements the requirement.
Sign up for more
Are you interested in learning how to build projects from requirements to deployed applications? Sign up here to get updates about new articles in this series:
%%[convertkit-project]
Share in comments!
Please share your sketch in the comments if you try it yourself! You will be surprised at the ways the same requirements are interpreted by different people.
P.S. Are you interested in energy efficiency? This application is a poor-man's version of the approach shown in a blog post I read a long time agoāsomething that would be overkill for most people.
Top comments (4)
This project idea sounds very practical, especially in todayās context where energy consumption and cost management are crucial. For those interested in tracking their electricity usage and managing costs effectively, thereās a handy platform called MEPCO bill. It allows users to easily check their electricity bills online by providing their reference numbers or consumer IDs. This can be really useful if you're looking to monitor and manage your energy expenses, similar to what your project aims to achieve. The platform even provides details like meter readings and past payments, making it easier to stay on top of your energy usage.
This project sounds like a fantastic way to bridge the gap between learning resources and real-world application development!
I wanted to share a related resource that might be of interest to you and your mentees. I recently came across fsco bill pk, a website that allows users to check their fesco bill online. Itās a great example of how a simple application can provide real-time data.
The security of checking electricity consumption to iesco bill check relies on a combination of technological safeguards and regulatory compliance. In the case of smart metering, encryption and authentication protocols are used to protect data during transmission, and physical security measures safeguard the infrastructure. Access controls ensure only authorized personnel can access the data, and privacy protection measures anonymize and separate personally identifiable information.
As such, our electrician services in North handyman north london are designed to address a wide array of electrical issues and requirements.
Some comments have been hidden by the post's author - find out more