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,