I was tasked by MedCorset, a local manufacturing company, to create an invoicing app. The requirements were simple but the use-case required crafting a custom app from scratch.
Purpose of the project
The goal was to replace the existing invoicing system which used paper invoice booklets and manual entry of invoices. The old system had many issues, including:
- The invoice booklets were not standardized, making it difficult to track invoices.
- The invoice total had to be manually calculated, which was prone to human error.
The developed software was a desktop app built with Flutter with the following features:
- Search for invoices by customer name or date.
- Products inventory.
- Product pricing by category.
- Export invoices in PDF or PNG format.
The Process
Since the project was simple, I directly started with the design of the database schema. I used SQLite database as it’s easy to setup in a Flutter project.
The db schema was simple and consisted of the following tables:
- Invoices
- Customers
- Items