Queenbees is a CMS with django backend and react front end. It's a personal project I want to use on multiple website projects, so it's definitely over-engineered. I use it also as an experimental project.
TODO: Update tests to use docker PostgreSQL container
- PostgreSQL server installed
- User with
CREATEDB
permission and access to PostgreSQL socket
Setup PostgreSQL role:
echo "CREATE USER $(whoami) WITH CREATEDB;" | psql -U postgres
# Install poetry
pip install poetry
# Install NVM and Node
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash \
&& source $HOME/.nvm/nvm.sh \
&& nvm install 20.9.0
# Install dependencies
cd src
poetry install
poetry run install-frontend-dependencies --test
poetry shell
cp src/.env.example src/.env
- Configure relevant API Keys
Start the server with docker compose
poetry run docker-start
Stop docker compose
poetry run docker-stop
Run django migrations
poetry run docker-migrate
Full django build
poetry run docker-build
poetry run createsuperuser
All backend linters:
poetry run python-linters
isort: Sort imports
poetry run python-linter-isort
black: Standard python linter
poetry run python-linter-black
import linter: Checks import contracts
poetry run python-import-linter
poetry run python-type-checker
Frontend linter and type checker:
npm run eslint
Run tests for a specific target
DJANGO_CONFIGURATION=<config> poetry run python-tests <files>
Run all python tests
poetry run python-tests-all
Run unit tests
poetry run python-tests-unit
Run Interface agnostic tests
poetry run python-tests-interface-agnostic
Run backoffice tests
poetry run python-tests-backoffice
poetry run js-tests