Content database for Minetest mods, games, and more
Go to file
2021-01-30 00:43:21 +00:00
.github Add issue templates 2019-11-12 22:49:47 +00:00
app Add help message and button to outdated packages in to do list 2021-01-30 00:43:21 +00:00
docs Add more information to minetest_client.md 2021-01-26 17:35:06 +00:00
migrations Add PackageUpdateConfig.auto_created 2021-01-29 23:18:37 +00:00
utils Add outdated flag to UpdateConfig to stop notification spam 2021-01-29 16:36:23 +00:00
.dockerignore Add data* to docker ignore 2020-01-22 22:11:01 +00:00
.gitignore Ignore IDEA files 2020-12-03 23:09:40 +00:00
.gitlab-ci.yml Add API tests 2020-01-19 19:09:04 +00:00
babel.cfg Add translation support 2019-07-29 21:44:39 +01:00
config.example.cfg Remove flask_user and use flask_login directly, with partial feature support 2020-12-05 02:20:21 +00:00
docker-compose.yml Add celery exporter 2020-04-24 00:49:40 +01:00
Dockerfile Add requirements lock file 2020-07-16 14:26:26 +01:00
LICENSE.txt Update README 2018-03-24 19:12:02 +00:00
README.md Improve documentation 2021-01-26 17:04:34 +00:00
requirements.lock.txt Fix default branch detection 2021-01-29 17:17:51 +00:00
requirements.txt Bump lxml from 4.5.2 to 4.6.2 2021-01-10 03:07:50 +00:00

Content Database

Build status

Content database for Minetest mods, games, and more.
Developed by rubenwardy, license GPLv3.0+.

See Getting Started.

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 with psycopg2_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

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