DEV Community

Kacha
Kacha

Posted on

Village Banking App: A MongoDB Submission Post

Overview of My Submission

The inspiration

Village Banking is a phenomenon that has gained popularity in my country and most African countries, there is a version of it in the U.S as well with a different name. Most small village banking groups keep track of their finances in whatsapp messages or by one person. What is village banking you ask?

Village banking is a microcredit methodology whereby financial services are administered locally rather than centralized in a formal bank. Village banking has its roots in ancient cultures and was most recently adopted for use by micro-finance institutions (MFIs) as a way to control costs. Definition from wikipedia

The Solution

The solution to people using excel sheets or tracking the village banking money through messages is a web application that can be used on a mobile phone or desktop.

How I built it

This application started its life as a react native application but was then switched to react to reach more people than a mobile app can.
It is a react app with Material UI for the look and feel. On the mongo side it is a MongoDB Realm application using an atlas database, realm functions and realm triggers.

Challenges I went through

I had a couple of challenges:

  • I haven't developed in react or react native in over a year so I had to dust of some of the rust
  • I had a couple of issues understanding how roles affect how you can access data in a mongo db collection from a realm application.
  • Understanding realm sync destructive changes (the documentation was pretty helpful here)
  • Time is an ever present challenge, switching halfway through to react certainly took some time and doing it during the Christmas break was not ideal.

Accomplishments I'm proud of

  • I have a working application integrated with MongoDB Realm
  • I have deployed a version of the application

Things I learned

  • MongoDB Realm: Almost everything under realm, Authentication, functions, triggers, Schema and values
  • React native: It was basically like learning react native again after over 2 years of not developing it.
  • Integrating libraries like Twilio with MongoDB Realm

What's next for village banking

The following is the roadmap for village banking

  • Adding loan requests for users of village banking groups
  • Adding profile editing
  • Complete the sms and email notifications
  • Develop a mobile application
  • Writing up bite sized tutorials on MongoDB Realm.

Submission Category:

My submission is in the Action Star category and uses realm functions and triggers.

To view the deployed demo please check this link

Link to Code

GitHub logo kachaMukabe / village-banking

A web based village banking application

Village Banking

This is a web application for village banking Definition from wikipedia.

Demo

Please find link to project here

Features

  • Create/Join Village Banking groups
  • Deposit Money
  • View deposits for the whole group
  • Sms notifications using Twilio

Lessons Learned

What did you learn while building this project? What challenges did you face and how did you overcome them?

Roadmap

  • Adding the ability for group users to request for loans on the app
  • Profile editing
  • Email notifications as an alternative for sms
  • Mobile application



The realm backend code can also be found in the repository in the folder called backend.

Additional Resources / Info

Used Libraries:
React
MongoDB
Twilio

Screenshots

Village Banking dashboardVillage Banking drawer menuVillage banking deposit

Discussion (0)