Get all the testing that your business needs at Lablim Online! Explore a platform where you can offer and receive testing services for products. Connect with others who need your expertise and find opportunities to contribute your skills. Join now to become part of a dynamic network focused on product testing and innovation.
Featured Tech:
A generalized wireframe illustrating the application flow is shown below.

Demo Email: guest@lablimonline.com
Demo Password: lablimonline
In the upcoming v1.1, more features will be added to improve accessibility and communication. This new version would bring the addition of:
-
${\textsf{\color{lightgreen}Complete}}$ Autocomplete integration while both searching for vendors - Having vendors create preset tests and services that the client can see the rates for.
- Migrate all DB connections to be server-sided (security).
- Cross-comparing rates to get the client the best deal.
- Addition of a delivery tracking system so both the client and vendor know where packages containing samples are at all times.
- Ability to download results in bulk (multi-order export).
- Adding in-app communications between clients and vendors for more communication and assistance.
Overall, my experience with MUI has been delightful and I intend to keep using it for future projects. Of all the other framework libraries for styling it's been the best one for me since it allows me to focus on the logic of an app rather than its style.
It was particularly critical for its use of tables but I tried using it whenever applicable building the views. While it's not as easy to use as Bootstrap, it's less verbose than TailwindCSS and was a good choice that led me to the best result.
When creating an order that has samples with each having tests at once, it was imperative to keep all the information stored in separate tables but still linked. Making the connection between the client and the database had some challenges.
One memorable bug I faced was a persistent mismatch in ID values for newly made orders which disrupted this process. I eventually learned that the ID was being recalculated so I used the react hook useMemo to prevent that.
I also had to deal with some of the shortcomings of Supabasse when handling this since I wanted more user information but couldn't get it all at once when a user signed up. SQL techniques like creating view tables to then reference allowed me to work around that.
Due to this there were two types of protected routes, one for users who didn't register and another for users who still had missing information. It adds a bit more complexity but it holds well.
With the high amount of tables that had to interact at once in the DB, there was a lot of room for error when making requests. Formatting data before and after it gets sent so that it's usable was a task I became increasingly proficient in.