Today, PawnOfSale officially is running on PawnDB version 1.0. PawnDB is NOT a new database system and I cannot take all of the credit for the creation and design. Rather, PawnDB is a database structured to be multi-purpose–supporting many different types of web applications.
…one who is used or manipulated to further another’s purposes.
When the idea for PawnOfSale was originally presented to us, it was to be a simple, stopgap measure to support a small business owner and friend of ours. That is why we decided on a web-based application utilizing a SQL backend (PostgreSQL to be exact). Also at the time, I had never written a single line of PHP or PostgreSQL code–although I did have experience with web design and MSSQL. And so it was in the beginning, that the database design and also structure of the PHP project were dictated to me by the then project manager.
However, at this time last year, that project manager abandoned the project and left me “holding the bag” so to speak. Our friend, and client, was heavily invested in the project, so I have continued–and formed my own small business.
As the business owner and only remaining developer of the product, it is my job to gather requirements, develop AND test everything related to the product. Unfortunately, the state of the project in August 2019 did not lend itself to bug testing or bug fixes. So, I researched industry practices for PHP projects, developed a project design and migrated what had been called ERPawn (For the record, I always called it “The Project” to avoid having to explain to people what an ERP is) into MY product called PawnOfSale.
The rewrite of the core PHP application took about 2 months from November – December of 2019. Development was halted to shift to building a few OpenCart plugins in January/February 2020 and then COVID hit! AND NOW…For the last month, development has resumed in earnest and at a fast pace. I have spent the last month tearing apart the old ERPawn database and shaping it into something that really could grow.
ERPawn utilized multiple schemas with nearly everything being stored in public for the client. (Config, report, document and audit schemas did separate some of the data). This made it difficult to:
- Create a demo - Something that could be installed on a cloud server, set up for public demo and easily reset to “defaults”
- Duplicate for new customers - Similar to above, but I needed a database that could be set up as a templated with NO data; retaining only required elements such as forms, reports and application configurations
- Add/Remove Modules - We’ve always wanted to make this system modular. If you’re a large pawn shop, then you can install everything. If you are small, then maybe you only install a few modules. Perhaps a small retail shop wants something like this–then we strip out everything related to loans, etc. The old database structure wouldn’t let us do that.
- Secure groups of tables easily - Much of PawnOfSale loads from the database such as forms and reports. We wanted to secure these elements in the database so that they cannot be tampered with or damaged inadvertently.
PawnDB aims to resolve these and more problems. Version 1 is in use on our current beta release but Version 2 is in progress with even more changes!