You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
![]() |
1 year ago | |
---|---|---|
.github | 2 years ago | |
app | 1 year ago | |
docs | 1 year ago | |
migrations | 1 year ago | |
translations | 1 year ago | |
utils | 1 year ago | |
.dockerignore | 1 year ago | |
.gitignore | 1 year ago | |
Dockerfile | 1 year ago | |
LICENSE.md | 2 years ago | |
README.md | 1 year ago | |
babel.cfg | 4 years ago | |
config.example.cfg | 1 year ago | |
docker-compose.yml | 1 year ago | |
requirements.lock.txt | 1 year ago | |
requirements.txt | 1 year ago |
README.md
Content Database
Content database for Minetest mods, games, and more.
Developed by rubenwardy, license AGPLv3.0+.
See Getting Started for setting up a development/prodiction environment.
See Developer Intro for an overview of the code organisation.
How-tos
# Hot/live reload (only works with FLASK_DEBUG=1)
./utils/reload.sh
# Cold update a running version of CDB with minimal downtime (production)
./utils/update.sh
# Enter docker
./utils/bash.sh
# Run migrations
./utils/run_migrations.sh
# Create new migration
./utils/create_migration.sh
VSCode: Setting up Linting
- (optional) Install the Docker extension
- Install the Python extension
- Click no to installing pylint (we don't want it to be installed outside of a virtual env)
- Set up a virtual env
- Replace
psycopg2
withpsycopg2_binary
in requirements.txt (because postgresql won't be installed on the system) python3 -m venv env
- Click yes to prompt to select virtual env for workspace
- Click yes to any prompts about installing pylint
source env/bin/activate
pip install -r requirements
pip install pylint
(if a prompt didn't appear)- Undo changes to requirements.txt
- Replace
VSCode: Material Icon Folder Designations
"material-icon-theme.folders.associations": {
"packages": "",
"tasks": "",
"api": "",
"meta": "",
"blueprints": "routes",
"scss": "sass",
"flatpages": "markdown",
"data": "temp",
"migrations": "archive",
"textures": "images",
"sounds": "audio"
}
Database
classDiagram
User "1" --> "*" Package
User --> UserEmailVerification
User "1" --> "*" Notification
Package "1" --> "*" Release
Package "1" --> "*" Dependency
Package "1" --> "*" Tag
Package "1" --> "*" MetaPackage : provides
Release --> MinetestVersion
Package --> License
Dependency --> Package
Dependency --> MetaPackage
MetaPackage "1" --> "*" Package
Package "1" --> "*" Screenshot
Package "1" --> "*" Thread
Thread "1" --> "*" Reply
Thread "1" --> "*" User : watchers
User "1" --> "*" Thread
User "1" --> "*" Reply
User "1" --> "*" ForumTopic
User --> "0..1" EmailPreferences
User "1" --> "*" APIToken
APIToken --> Package