Recap

We started the project for module 2 two weeks ago. My project is to develop a monitoring application. This application consists of an administration interface, an API and an agent to monitor. I am rather satisfied, it is progressing well. I decided to change the way I work compared to what I planned in the project outline. Basically, I thought I could predict at the beginning what I was going to do this month. I quickly realized that it is not very realistic. Indeed, I was ahead compared to the initial schedule. So I decided to work in the form of iterations. Each of my iterations lasts between 3 and 4 days. We can compare it to a sprint in the agile method. It's just a little shorter because of the relatively short time.

Here is the list of the tasks that I've already done during my iterations:

✅ Iteration 1:

During the first iteration, I focused on the choice of the project, the technological watch, the technological choices, and the administrative part.

✅ Iteration 2:

During the second iteration, I planned to build the administration interface as well as the database.

✅ Iteration 3:

Build of the API.

✅ Iteration 4:

Build of the agent.

After two weeks, I completed 4 iterations and I already have a usable prototype for my project.

Here is a video demonstration:

Here are my ideas for the next iterations:

Iteration 5:

Update the API so that the administration interface only consumes my API and will not directly map to the database.

Iteration 6:

The goal of this iteration is to integrate Slack + SMS notifications.

Iteration 7:

During the 7th iteration, I will add an authentication for the agent. There will also be an interface for adding and removing agents. The agent will be started with a parameter. This parameter will be the key.

Iteration 9:

During this iteration, I would like to add statistics to know the uptime of a monitor. We will be able to see the uptime and a graph.

Iteration 10:

Added monitoring for the servers.

I will try to achieve the most iterations possible during the two remaining weeks. However, I do not know in detail the complexity of each iteration.

What I learned

I learned so much during the two weeks that it's almost very difficult to summarize everything in a few lines.

Hereafter you will find the key knowledge I acquired:

I have of course increased my programming skills, more specifically in TypeScript. TypeScript is the main language of my projects.

I was able to test NodeJS improvements. I have not had the opportunity to test NodeJS for the last 12 months and now I noticed their progress is impressive!

Furthermore, I was able to increase my knowledge of CI / CD with TravisCI.

Conclusions

I am satisfied with the progress of the project so far. My biggest fear was not having a prototype after 1 month. But my fear is no longer justified.