Context
The main client that we are building this product for is a jewellery production company. They are a small business that wants to grow. They have been doing their business administration on lots of excel sheets and their older activity is only saved on paper records. They need a tool to replace their current process, save all their previous activities, and bring better visibility in them. Users of the tool are company employees responsible for resource delivery, jewellery production, sales, and administrator to monitor and edit if/when inconsistencies happen.
There is an already existing tool that does all mentioned above but even the cheapest options is out of budget for most small jewellery houses: https://www.gopiro.com/home
products out of those resources and other products, make sales to users added in the system and transfer goods to other organizations.
Business Challenge
The data in the website is filled by the community – people living in the village they describe. They fill in a form (jotform) with all the information and then this information has to be put on the WordPress website via copy-paste which takes a lot of time. Also because there is no structured database for village characteristics it was possible to filter only by village name and area.
Technical Challenges
Main challenge is the lack of domain knowledge in the team. We have a client that is the main consultant and source of requirements for the product. We wanted to build it so that it solves their problems but also is generic enough to support potentially any other similar production flow. The result is a relatively complex data model to facilitate this idea that might get hard to support and extend in the future
Solution
We have developed a Java Spring Boot application as backend, a PostgreSQL database to hold the data, and VueJs application as frontend. Those services are containerized and deployed to an EC2 instance in AWS. There is a CI/CD solution using GithubActions and AWS CodeDeploy that automates the build, test and deployment processes.
Features supported by the product:
Organizations:
- Create organization
- Add/edit users with certain permissions to the organization
- Transfer products or resources from one organization to another
Users:
- Create/Update/Delete users globally
- See user’s purchased resources/products
Resources:
- Create/Update/Delete users globally
- See user’s purchased resources/products
Sales:
- Create/Update/Delete users globally
- See user’s purchased resources/products