This PR introduces a new frontend for the project (in the /frontend directory) which can be hosted statically, decoupled from the backend - eventually hosted on GitHub Pages or similar.
The frontend allows users to configure which backend the app should communicate with.
I've reused code where possible, but for the most part, this is a full rewrite in Next.js / React-Bootstrap / Redux.
This is my first time developing a frontend with these libraries/frameworks so I would strongly appreciate any feedback on improving this!
Several new API endpoints have been added to the backend to enable the new frontend.
Note: This PR is not fully complete or polished. My objective with merging this now is to enable testing the new frontend against a deployed backend which indexes many more cards than my dev environment does. Improving the scalability of the project is one of the primary objectives of the new frontend.
The existing frontend will be fully decommissioned at some point, hopefully not too far away, but the new frontend needs to be thoroughly tested first.
I've also added some models to the backend for storing users and projects on the server, but haven't done any work in the frontend to enable this. This is on the todo list and I'll aim to work on this feature after the first stable release of the new frontend.
Checklist
[x] I have installed pre-commit and run the hooks with pre-commit run.
[x] I have updated any related tests for code I modified or added new tests where appropriate.
[x] I have updated any relevant documentation or created new documentation where appropriate.
Description
/frontend
directory) which can be hosted statically, decoupled from the backend - eventually hosted on GitHub Pages or similar.Checklist
pre-commit
and run the hooks withpre-commit run
.