It began with a problem statement that our facilitator provides us. It was an insight that my Government’s Agriculture Department was getting data reports from their farmers, to gain an insight on how much has been produced from each farm (through harvest/slaughter/fished/etc) and to produce an annual report. This was all done with paper forms distributed and farmers have to fill them in and submit them back. (The poor trees! )
So the solution was very simple. Use the power of the internet to have the forms hosted online and have the farmers do their data entry directly to the department’s database. We were allowed to use any library/software, so a quick google led me here. Pitched it to the team and they agreed to use farmOS for the hackathon. Apologies to the developers who made the Field Kit v1 (cc: @jgaehring ) but the UI/UX of it requiring a bunch of improvements but it was a good opportunity to tackle as well. The hackathon was a 2 week event. The first week being filled with workshops about understanding user personas/design thinking, some coding workshops, sprint planning and presentation/pitching skill. All of these are helpful but the coding workshop was a bit too short for the participants (particularly students) to build a good enough prototype, but that didn’t matter. The 2nd week is when we start coding and building everything. So the 1st week was me prepping and understanding Field Kit and lots of reading. I still wasn’t prepared apparently.
A little bit about our little team of 4 guys: 2 working individuals (myself as a full-time sysadmin and a network engineer), and 2 students in their high school. I took on a student and teach them how to use a framework to develop with. @mstenta and @jgaehring , you may be familiar with Dave with his recent pull requests to the repo. It was an oversight on my end that I didn’t know he would be doing that after his first pull request, but he learnt his lesson to pull request properly and run git commits properly. He still has yet lots to learn in software development but this serves as a good enough starting experience as he takes his computer studies.
Now about my experience with revamping Field Kit from the old regular VueJS to a new framework, Quasar Framework. It was hard but not impossible. Framework is built with VueJS and I thought it was as simple as just moving components/utils/store from one to the other. Apparently, there’s a lot of bindings and references that kind of broke when I moved it. I was using Farmier and have been advised that its still on v1. So this means that I have to refer to Field Kit’s v1 branch for a working app. Docs were here and there (some in the repo, some in the farmos.org and more about farmos.js in its own repo as well). That was confusing but thankfully, I had a bit of guidance from @jgaehring on what I should refer to get a working prototype.
Secondly, when I created a new Quasar project, I set it up to use Typescript because why not learn to explicitly that data gets passed correctly from 1 module/function/getter/mutation/commit/etc to another than typescript eslinting errors everytime I copy a file over. Instant regret that one, but I had to make do and try to disable eslint enough to get a working prototype in the last few days (while at the same time mentoring my teammate of a student on how to code for things while referring to the official docs).
So by the last few hours of the hackathon, I had a working Login and a working Log store to the local storage but haven’t been able to send the log to Farmier. I took an all-nighter and no amount of redbull/coffee is going to help me code further, a couple of hours before the presentation time.
We did the presentation as a team, tried to convince the judges that its a good solution if we had more time. They were impressed and that we have an answer for scalability and feasibility but easily reproducible for other industries (think surveyors, auditors, inspectors, etc).
All in all, it was a good experience and I’d do it again but perhaps not do it in Typescript the next time. For anyone interested, the repo is here: GitHub - Qoyyuum/KebunKitani: A PWA Farm Tracking app that works offline in both browser and native app form. but its a mess of a project at the moment. So I need to work on i18n module first before anyone tries to contribute anything sensible to it (language barrier and all that). That’s my current plan for the moment is to get a working v1 app, much similar to the current v1.farmos.app.
Ask Me Anything!