Hello everyone!
This phabricator task is about the architectural design of Krita's Featured page on its Welcome Page, not the UI design.
Given that we last discussed it briefly a few meetings ago, I thought this would be the right place for it.
Some Background
We are intending of adding a Featured page to Krita on which we list the featured artwork created by the community, something similar to: https://krita-artists.org/tag/featured. And the good thing is we can get the list of featured post from discourse in JSON without having any plugin to be installed in the machine running Krita-artists. But the issue is load can be a bit too much for krita-artists to handle. So, we'll certainly need a CDN for distribution.
Design
1. Server
I don't know much about CDNs (perhaps someone with more experience can help here), I did do some minor research though. On surface I'm thinking of running a service to download images and metadata from Krita-Artists after a constant interval and then serving those images.
Running a service to fetch images from krita-artists is simpler. But the question is how should we serve those images? The thing that quickly pops to mind is creating a REST service on top of a database. But is this something which can be used along with CDNs? Would serving a blob be something simpler or favorable?
2. Client
For our client, Krita. We query the server for the data after x amount of hours have passed since the last fetch and then cache the images.