Building a national forest management system #Aloneee

What better way to practice coding than trying to go in your favorite field and solve a problem. This was my motivation to start this project.

Spoiler alert: The project was rejected, but I tried. What can I say!

The project  is designed to allow forest owners to request different licenses online. As usual am Fahrer, am a forestry student in University of Rwanda. Our country have invested a lot in online services as of now almost all certificates offered by local sector office can be requested, paid, approved, and issued online. This means that behind my desk I can just request my birth certificate, criminal records,and pay for them with just a click on my computer or smartphone. 

All those things are powered by Irembo website which is maintained by Rwanda Online. Apart from all those people in Forestry sectors have no such opportunities. To read about the typical process of requesting a forest harvesting permit goes, please read this article Here posted at Igiti Corp.

After reading about that, can we move this system or several parts of the system online? Post your answers in the comment box below, but for me the answer is yes, and a big yes.... How would I go about that??

What was I hoping to change:

  • Data integrity: the current system stores data unstructured which makes programming queries and filters on data a hustle for authorities. I developed the system to allow data integrity by storig data in database.
  • Easy reporting by District Forestry and Natural Resources Officer: Imagine how many typos you make when just rewriting a single page document. Recording data from hard copies is tiresome. With application for request being done online, you can always be sure that you have correct and structured information that you can perfom operations on. This system was designed to easy the work of DFNROs.
  • Easy application for Forest owners and other agencies that assist farmers in application. 
  • Real time information on forest status and productivity
  • Communication and easy communication: When your application is received you receive a message about your application, if the officer has scheduled the visit time, You receive the message about the activity and the hour of visit. And finally when your permit has been approved you get notified. Are you a DFNRO and you have a scheduled visit for today, get notified by email, as you choose. Toggle the option in your profile.

 This next part is for fellow developers.

To tackle this big project it took big preparations. I chose to use the tools am familiar with, which are Django, HTML, CSS, jQuery and some Python skills for server side tasks. The project ended up being big for my taste and I suffered a burnout along the way. I worked on it for a period spanning two months including fooling around time. This is how I decided to develop the system.


For template, I used a template developed by others, because I was not comfortable developing templates from scratch with the server side tasks being custom. I focused my efforts on Django models. Creating views and forms was tedious as I had to include dependent select quries, which I found out to be not straight forward in Django, maybe I will try Laravel from PHP, who knows?? I need some advice.

My goal was to improve communication and making the system so easy to use. That's why during development many fields in my models were written in my Native language. For the part of SMS I used twillio. Am still on trial usage, $20 is much  money for me. I couldn't play with it while I have no clue if the system will be usable. But moving to premium is in future plans. 

The logic is simple: You apply for the license by filling in your informations, through a 4 stage wizard form. Refer to the attached picture. Then your application is sent to the DFNRO of the district where your Forest is located. The DFNRO accept the request, process the eligibility, schedule the time to visit your forest. After visiting your forest, the DFNRO fills in the species that will be harvested and the average width, height and other metrics.

The reason why reporting is important is that having access to such information will allow us to get insight into the best and worst performing species in given region. After aquiring enough data from different forests, we can start to develop models about species diversity and species site matching for new reforestation plans. 

After approving that your forest can be harvested, you are required to pay service fees using the Revenue Authority website. I didn't trust the security of my server to add payment processing options but with backup from the government, I would get access to infrastructures that would allow me to go on with it. But the system is simple, pay through irembo and comfirm your payment by uploading the payment receipt. I screen for RRA website to find that your payment is real and made in your names. Then we are done.

It's time to pick up your permit. Usually this permit can be sent to the requestor. Depending on the choice.

This has been my daily driver for past months in lockdown. If you feel like I can improve something, or want to donate to the project Please feel free to do so, by contact me through:


If you want to check out the demo. Please visit this subdomain:

Am a self taught developer interested in Django web development. I have no CS background but I have found that with proper motivation anyone can code

Follow me:

Post Stats