This is the source code of KenDB3, intended to go live on https://kendb.windcorp.ru/. Contributions are welcome.
Up-to-date task tree: kendb3-plan.drawio.svg.
See also ARCHITECTURE.md and other files in docs/
.
Initial setup:
# Clone repository
git clone https://github.com/OLEGSHA/KenDB3.git
cd KenDB3
# Setup and activate a dedicated venv
python3 -m venv .venv
source .venv/bin/activate
# Install Python packages
pip3 install -r requirements.txt
# Install frontend packages
npm install
# Configure development database
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py loaddata fixtures/sample_users.json fixtures/sample_data.json
The database must contain some sample data for the applications to run properly. Depending on your needs, you may want to create a Django superuser.
Run a development server with a SQLite3 database:
python3 manage.py runserver
DEBUG
– set toFalse
to enter production mode.JAVASCRIPT_PIPELINE__TEST_PRODUCTION
– set toTrue
to force production mode for JavaScript pipeline builds. Unsafe; do not use in production.JAVASCRIPT_PIPELINE__SHOULD_RUN
– set toTrue
to force JavaScript pipeline builds.JAVASCRIPT_PIPELINE__PREVENT_RUNS
– set toTrue
to prevent JavaScript pipeline builds.
See Django 5.0 documentation for more information.
Project is not production-ready yet. Migrations will be committed once the code is deployed on windcorp.ru.
- Frontend:
- Backend:
- Django – Python web framework
- django-environ – override
settings.py
with environment variables - django-taggit – tag management
- django-environ – override
- Pillow – image processing; used to preprocess static resources
- cairosvg – SVG renderer; used to preprocess static resources
- Production database: Dolt – MySQL-compatible database with version control (not yet implemented)
- Django – Python web framework
- Deployment:
- Gunicorn – WSGI server (HTTP server for Django)
- WhiteNoise – static file serving for Django
- Gitea Actions – CI (visit)
- Docker – packaging and runtime management
Code and assets in this repository are licensed under AGPLv3-or-later (see LICENSE). However, it is not designed to be deployed anywhere except on windcorp.ru.