Introducing bojuto: Simple bookkeeping for MSMEs
We're here for you and your business
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.
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
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
2. Create Account Page
Using the Login and Sign up button, users can log in or create an account.
3. Dashboard Page
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
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
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
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
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:
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.