This challenge consists in incremental steps to build a simple full-stack application (do the steps in order).
For the back-end, implement the following steps:
Set-up an API in any web framework (suggested: Flask / FastAPI)
Add a
/listendpoint returning the data in /server/db/list.json in the following format:
{"images": [ ["id0", "name0", "url0", ["tag1", "tag2"]], ["id1", "name1", "url1", ["tag1", "tag2"]] ... ["idN", "nameN", "urlN", ["tag1", "tag2"]] ]}Convert the list.json file to any proper database (e.g. SQLite or be creative), and make the
/listendpoint read from there.Create a
/edit/<image_id>endpoint to edit the tags of a certain image
Set-up a front-end application in your framework of choice (React highly preferred)
With the data returned from the server
/listendpoint implement an image gallery in the client folderCreate a filter functionality that let the user filter the images by name and tag
Implement the possibility to filter by multiple tags at the same time
Function to add new tags to the images (just the front-end side for now)
Implement step 5 on the server (NOTE: to implement this step you need to implement step 4 of the server-side)
Your work should be uploaded into a personal repository on GitHub or GitLab and sent to [email protected].
For any further queries feel free to get in touch with us.