BreathUp : first full version of deploy webApp with unit tests


The plan for the end of the week was to add a database and a way to authenticate the users and here is what I managed to do :

  • Add a PostGreSQL database to store the users credentials and authorizations and to store the devices status and configurations.
  • Try to add OAuth2 with Google as a provider : didn’t succeed because Google doesn’t want raw IP as callback uri.
  • Deploy on heroku: I spend like 3hours, 25 “WIP trying to deploy” commits, and 20 deployment versions (thanks Heroku for the count) before I found a great documentation explaining precisely what I was needing…
  • Add OAuth with another 20 WIP commits and deployments as I wasn’t able to test it on my computer. And I can confirm that Heroku is quite fast, but when you have to deploy 40 times in a day, it’s clearly not fast enough…
  • Make some correction to have something clean: and here we are with 53 deployments in 3 days 🙂
  • Add a lot of unit tests to obtain a decent coverage ratio. Sadly, 100% is impossible as I can’t test Google authentication… But If I remove this part, we are at 95% on the view file and 100% in the others. And I’m thinking about considering that this is fine…

Ok, but what are we still missing to say that the webApp is finished?

  • Some page rendering, because there are horrible.
  • Adding a new table to the database to store old reports from devices.
  • Implementing some thing to return at the next ping from a device it’s configuration if it has been modified.
  • Finding a way to receive, store and send  large files with the ADS and IMU datas.

And that will be my job for the next week, with maybe some more test on a LoRa module. It could be great if I managed to send back a message to it.

Have a nice week,

Xavier Chapron

Leave a Reply