Supporting large network traffic of up to 10,000 queries/sec and collecting a large number of statistics, used and related to the business part of the project.
JaFolders is a really popular application in Belgium and the Netherlands with more than 600k monthly active users. In order to achieve high system capacity, we focused on applied advanced solutions at a database level such as: materialized views, inner lateral joins, PostGIS, table partitioning and specialized kinds of database indexes. The whole infrastructure is based on Kubernetes, which provides scalability.
One of the challenges was to optimize the costs of storing, delivering and displaying images in applications.
We’re using Amazon S3 as our persistent storage for more than hundreds of GB of images. Because of high traffic on platforms and Amazon billing policy, we’ve implemented additional cache infrastructure with image resize and quality adjustment. This solution has optimized the costs roughly by 90%. The improvements have had a major impact on content loading speed and overall user experience.
Another challenge in the project was advanced PDF file format processing along with parsing and fetching crucial information such as URL links and their position on the canvas.
There are plenty of PDF file format variations, which makes it difficult to parse and fetch every piece of interesting information. It required creating a robust abstraction which was built of many tools and custom scripts that allow us to get what we need.