Skip to content

Sprint2

Chef03 edited this page May 4, 2023 · 12 revisions

Scope

Sprint 2 issues

Challenges and Lessons Learned

  • Pull from main before the merge request: We had a lot of merge conflicts when reviewing the merge requests originating the fact that our local versions weren't up to date with the main branch

  • JSON deserialization in Arduino: In the beginning when working with this task, we found it confusing on how to optimally approach this since the researching enlightened different ways of doing it accompanied by different libraries.

  • C++ is more low-level than Java : Since we were accustomed to the more high-level-language Java, we were forced to devote time in understanding the foundational logic of C++ intending to meet our ambitions. One of the problems that arised in this sprint was that declaring a string where it would make sense in Java would give us a compilaiton error. We learned the two following things:

  • std::string --> Used for manipulation of strings

  • char* --> Pointer to data type char

  • MQTT Broker: We quickly realized that the public MQTT broker services that we were using such has hivemq.com or emqx.io were not very stable and were causing lots of disconnects and bugs within in our product, so it was clear to us that the broker that we're using should ideally be our own locally hosted one to steer clear of any potential bugs.

  • Commits: We learned that when committing, it is a better practice to commit in small cohesive commits instead of a single large one, this has many advantages which include safer failure prevention due to more frequent commits, other members getting features earlier, and less conflicts.

Learning Outcomes

  • Firstly making sure the connection is working and secondly modifying the code so that it uses these values instead of the hardcoded values

Presentation

Presentation

Clone this wiki locally