Skip to content

rmvn27/boards

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boards

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.

Running

The application can be run two ways: Either by using docker compose or the local dev environment.

Docker Compose

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.

Local

For the local development, the frontend and backend are started separately.

Backend

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.

Frontend

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)

About

a lightweight kanban board built for a uni course

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors