Inspiration
I'm not sure if I was inspired by anyone for this project. When I thought of 'saving', the first thing that came to my mind was water. And given how climate change is affecting the availability of water, I thought this would be a good area to explore. Of course, I did think of other areas like money, and all but after thinking about this project I couldn't get myself to think about anything else. And so, I jumped straightaway into it.
What it Does:
This WebApp simply takes some user input: location, the crop being grown and some other details of the crop harvesting (fresh or green/ sown or transplanted..etc.) and by considering the forecast monthly mean temperatures and precipitation levels and more in the specified location, it runs algorithms and scientifically agreed formulas to generate the required irrigation need for each specific crop on a monthly basis throughout the harvesting period.
How I built it
First I had to do some research. I read some descriptive papers and thesis and theories for this process. I found the best one and I took a lot of notes: how it's done, formulas, data needed, and how to go about the production process itself. I first was going to use html, css and javascript only for it. But since I have just recently also been working on Django, I decided to use Django for some practice.
Then I created all the html templates required and did some designing. I did some prototyping with Figma but I didnt make the prototype too descriptive(just a quick look on layout and colour combos).
Then I had to collect data for the calculations itself. I was hoping to use some API services but unfortunately they weren't available for free. Even the available ones had this service for ULTRA- Premium so I decided to just download the current data and use the files itself for now.
I formatted the files in the desired layout, analyzed the data as to how I could access and use it created the Django app and managed all settings, urls, forms and the directories.
The final process was the calculation and display of the processed results.
Challenges I ran into
Data collection was the biggest issue. As stated earlier, I was hoping to use an API service to get regular updated data for the app such that it can be accessed by anyone from the world. BUT since it was pretty expensive, for this I just downloaded the files available for the moment. Because of this, I also had to limit the number of places for whom this service is available. ALSO, this project, although usable and applicable to anyone in the world, it was made particularly for the developing nations who face this challenge in irrigation the most. Since I didnt have the API and nor was there any reliable data provided, I had to use USA as an example as the data was readily and accurately available (But works for this no?)
Accomplishments that I'm proud of
I like the idea because it's something that countries like Nepal really needs. Here, many people have been practicing agriculture for a long time with traditional knowledge. Since times and the whole Earth is changing (climate change, global warming), those knowledge for irrigation are rendered inaccurate now and so many either water their crops too less or too much. In addition, it really is hard to identify how much irrigation is needed. This wastes a lot of money, time, crops, and most importantly water itself. Even to do the calculation, it takes a lot of time as a lot of data has to be processed and used along with many formulas. WATER, TIME, MONEY, and EFFORT. These, in a nutshell, are what the 'Crop Irrigation Need Forcaster' essentially seeks to "SAVE". I'm also really happy because I was actually able to implement my ideas properly with the tools I just learnt and also because it came out fairly nicee.
What I learned
After googling a ton of questions on stackoverflow I learnt a massive amount. These questions may not have popped up if I hadn't been working on this project. I also realized the need to plan and format your code and write notes about it when you're working on an actual project. This is because, after taking a long break, I often found myself being confused on the code I had written myself (what was the purpose of a variable, what it stored and in which format and much more). Also, in regards to planning, I started off the project without a definitive plan (just a map in my head) and it often led myself to being confused and jittery as to what I was doing. But once I wrote and actually properly planned it all out, everything pretty much flowed very smoothly.
What's next for Crop Irrigation Need Forcaster
I do believe that this project can head somewhere with some improvements. I would like to use an API service that provides me the updated and accurate forecasts for temperatures, precipitation, humidity, wind, etc. and for all the places in the world. I also want to add some more filtering criteria which also affect the Irrigation Needs for crops such that even more accurate results can be generated. Also, I would like to expand on the number of crops for which we can check the irrigation needs.
Log in or sign up for Devpost to join the conversation.