Introducing bojuto: Simple bookkeeping for MSMEs

We're here for you and your business

Introducing bojuto: Simple bookkeeping for MSMEs

INTRODUCTION

Data is such an important asset in the 21st century as it contains information about the past, present and a look into the future. Bookkeeping is key for keeping accurate financial records. It involves the regular recording of a business’s financial transactions. Bookkeeping is so important for businesses, as the benefits cannot be understated. It helps a business make key operating & financial decisions, accurately budget, sustain organized records and easily see their business targets. It is so important that it can be the difference between the success and failure of a business.

“Bojuto” is a word from the Yoruba language which roughly translates to ‘keeping record’. It is a bookkeeping web application which helps SMEs (small and medium-sized enterprises) keep track of all their financial records. It allows business owners to have a record of each customer and the related transactions. This serves as an easier alternative to business owners recording their transactions in books which can be lost or damaged. This serves as an affordable alternative for SME business owners, who would no longer require the services of bookkeepers.

Screenshot 2022-07-31 170553.png

ARTICLE INSPIRATION

We live in a world that is fast-paced and growing at an exponential rate. We keep on growing and we’ve seen the impact of technology in our day-to-day lives.

So far technology has helped change the way we live, think, communicate and the way we do business in general. We’ve seen the way we transfer money from one individual to another change through the advancement of technology, from cowries to the new development of cryptocurrencies through blockchain technology. This made us wonder and brainstorm on different ways we can use technology to impact businesses with the advancement of record-keeping tools used by every business.

FEATURES

1. Landing Page

Screenshot 2022-07-31 165653.png This is the landing page, also known as the home page. This page describes the product, its features, FAQs, link to the app, and contact form.

attaching lighthouse report of landing page

Screenshot 2022-07-31 210756.png

2. Create Account Page

Screenshot 2022-07-31 175818.png Using the Login and Sign up button, users can log in or create an account.

3. Dashboard Page

Screenshot 2022-07-31 180857.png There are several things the user can do from this page. They are able to:

  • View customers, product, expenses and sales report
  • get insights
  • Input and edit data

4. Table for sales

WhatsApp Image 2022-07-30 at 4.39.42 PM.jpeg The user can do several things on this page. Users can view the list of sales and more information they have submitted. Users also have action buttons to edit and delete entries.

5. Table for expenses

WhatsApp Image 2022-07-30 at 4.34.21 PM.jpeg The user can do several things on this page. Users can view the list of expenses made and more information they have submitted. Users also have action buttons to edit and delete entries.

5. FAQ page

Screenshot 2022-07-31 182804.png It answers the most frequently asked customer questions and is useful to customers at all stages of the customer journey. we'd be updating the FAQ page as more users use the app.

ROADMAP

The first order of business is to build a web presence and this would be done by an accomplished group of developers from the management team.

Bojuto would majorly be a mobile application which we know is very attractive to our audience and easier to manage. As we grow over time we would partner with major finical institutions to help sync company accounts into the app for better tracking of expenses. Also, we plan on partnering with significant cryptocurrency institutions as part of our payment platforms.

These are the updates we can currently working on;

  • Business Analytics

  • Customer Invoicing

  • Contact Sync from the phonebook

  • Data Visualization

TECH STACK

tech stack.png

This project uses:

  • WebFlow: for designing the landing page
  • ReactJS : for building the UI frontend
  • PlanetScale : provides database for storing all data
  • NodeJS - Express: as a middleware API service between the UI frontend and PlanetScale Database

ROLE OF PLANETSCALE

This was our first time using PlanetScale, however, it was easy and very seamless to use. The fact that it was fast and MySQL compatible made it enjoyable to use. I also thought the documentation was very well done and straightforward. The creation of the database schema was also very easy and straightforward due to the good UI of the PlanetScale website.

Adding columns to the already existing tables in the database was a seamless process. A simple change in the dev branch and a deployment to production showed how powerful and useful Planetscale can be in the creation of real-world applications. With little or no need to change the already existing table in the database.

The database schema is as follows:

WhatsApp Image 2022-07-31 at 5.15.59 PM.jpeg

WhatsApp Image 2022-07-31 at 5.16.01 PM.jpeg

WhatsApp Image 2022-07-31 at 5.16.02 PM.jpeg

DEMO & CODE

Link: bojuto.webflow.io

Back-end: bojuto.lm.r.appspot.com

Github Repo: github.com/bisi-dev/bojuto-fe

github.com/KenImade/project-x-backend

TEAM

Kenneth Imade - backend engineer kenimade.tech

Ayodeji Olabisi - frontend engineer bisi.dev

Enebi Omoh - backend engineer Enebi Omoh

Miracle Otugo - Designer(Brand Identity+Web) linktr.ee/miracleotugo

CHALLENGES

The lack of foreign key support

one of the challenges we faced developing the app was the lack of foreign key support as this would allow records from tables which depend on values from another table to be deleted without warning.

Directory issues

One issue we had when building Bojuto was deploying our backend. At first, we made use of dot notation to require files on our local computer and everything seemed to work fine. We then tried to deploy the app to Google cloud, opening the site URL what we got was a blank screen. We wondered what could be wrong. After a few hours on StackOverflow, we came to the realization that because we were trying to deploy on a server the file paths would be different from that of our local system and we would need to make use of the path module provided in NodeJS. After changing our required modules to use path and re-uploading to google cloud the backend was successfully deployed.

CONCLUSION

To conclude, we would like to thank the PlanetScale and the Hashnode teams for giving us the opportunity to work on something that's useful to the community.