No description
  • Python 60.7%
  • HTML 35.7%
  • Dockerfile 3.4%
  • CSS 0.2%
Find a file
2026-01-27 13:13:54 +00:00
src Move files into src layout (#34) 2026-01-27 11:42:46 +00:00
.dockerignore feat(docker): make use of uv for Docker build 2024-11-12 16:47:43 +01:00
.env.example chore: typo fix and clean-up (#35) 2026-01-27 13:02:27 +00:00
.gitignore Convert existing secrets to environment variables (#17) 2026-01-22 18:53:56 +00:00
.markdownlint.rb feat: add the initial README (#18) 2026-01-20 20:19:18 +00:00
.pre-commit-config.yaml Move jQuery to vendor directory (#20) 2026-01-22 18:54:40 +00:00
CONTRIBUTING.md update screencast video, switch branding to Lithium 2025-02-22 15:26:12 -05:00
docker-compose.yml remove version from docker-compose.yml 2024-08-26 11:14:23 -04:00
Dockerfile feat: pre-commit setup (#15) 2026-01-20 18:35:17 +00:00
LICENSE big update adding Docker, Pip, switch users app to accounts, updated Readme 2020-10-01 09:58:57 -04:00
pyproject.toml Added missing migrations and upgraded packages (#32) 2026-01-27 13:13:54 +00:00
README.md feat: add the initial README (#18) 2026-01-20 20:19:18 +00:00
uv.lock Also added Django flavour pytest (#33) 2026-01-26 12:48:58 +00:00

QPortal

This repository houses the code for the QPortal project.

Development

This project was based on the Lithium starter template.

Linters and Checkers

Frontend stuff

Django Plugins

Getting Started

Most of the project's configuration done through environment variables as outlined by the 12-factor guide. During development, these can be set by creating a .env file (by copying the .env.example, for example). When the app is deployed, the environment variables should be set/injected by the underlying platform.

Every developer is free to setup their development environment as they please. The following example assumes the following:

  • Development is done locally, not through a (dev)container
  • For now, a sqlite database is used when working locally until a more advanced database is required
  • uv is used as package manager
  • Your shell has the (uv) virtualenv activated (otherwise just prefix all commands with uv run)
  • pre-commit is configured to check the code before you commit
  • You have some Django knowledge (or are willing to learn)
# Install the project
uv sync && source .venv/bin/activate

# Setup pre-commit so we don't forget it later on
pre-commit install --install-hooks

# Run the database migrations
python manage.py migrate

# Create a superuser
python manage.py createsuperuser

# Run the devserver
python manage.py runserver

You can know open the project in your browser via the URLs in the output.

django-allauth

django-allauth is configured as the authentication plugin. Its most important setup can be found in the projects settings.py. At the moment is configured to only allow loging in via (Qstars) Google. When someone logs in for the firt time it will create a new user in the database.

Commits

Commits should follow the Conventional Commits standard.