Created for the Agile Webanwendungen mit Python course at the THA,
Boards is a small web app that lets you manage your projects using kanban boards. Projects can have configurable
states for the tasks and be shared to other users. The application uses a python backend that mostly revolves
around starlette, sqlachemy and
di. The frontend is a client rendered SolidJS
site with markdown rendering for the task descriptions thanks to unified.
A more detailed documentation (in german) can be found at documentation.pdf,
which was created as part of the course assignment.
The application can be run two ways: Either by using docker compose or the local dev environment.
The requirements with this variant is just docker itself and docker-compose on an older version of docker
that doesn't have docker-compose built in. Before the application can be started, you have to create a
.env file at the root of the projects with the following contents:
JWT_SECRET="<you_jwt_secret>"After this, the application can be started using docker compose up (or docker-compose up on an older version of docker).
It should be available on the 8080 port. The persisted data of the backend is stored in an internal volume.
For the local development, the frontend and backend are started separately.
The backend requires a recent python version (3.10+), poetry
and optionally just. For configuring the backend create a config.toml
file in the backend folder. The is an config.example.toml that describes the requires values.
After creating the configuration file, you can install a dependencies using poetry install and
starting the application using just run. When just is not used you can copy the poetry run
command from the justfile and run it.
The frontend is deloped using vite so a recentish node.js version is required.
The package manager pnpm is also required. Theoretically npm can be also used but it won't install the locked package versions.
For starting the frontend have to run:
pnpm i(Installing dependencies)pnpm dev(Starting the dev server)
