Content database for Minetest mods, games, and more
Go to file
rubenwardy f8e82b63e3 Revert "Limit visibility of unapproved packages to maintainers and approvers" and "Fix 404 on packages when not logged in"
This reverts commit 85a178d90e7ea654f456716a203388a1035048a4.
This reverts commit 727db52c19b6775972f9b5c073b26ce3c9e543bd.
2022-02-01 14:54:09 +00:00
.github Use GitHub actions (#295) 2021-05-03 17:59:23 +01:00
app Revert "Limit visibility of unapproved packages to maintainers and approvers" and "Fix 404 on packages when not logged in" 2022-02-01 14:54:09 +00:00
docs Update minetest_client.md docs 2021-02-03 18:30:21 +00:00
migrations Add migration to fix fulltext search 2022-01-27 18:54:04 +00:00
translations Translated using Weblate (Hungarian) 2022-01-29 20:51:41 +01:00
utils Update to Python 3.10 2022-01-27 18:44:00 +00:00
.dockerignore Delete inactive user accounts after 12 hours 2021-11-24 17:58:03 +00:00
.gitignore Enable translation support 2022-01-07 19:42:52 +00:00
babel.cfg Add translation support 2019-07-29 21:44:39 +01:00
config.example.cfg Update dependencies 2022-01-27 18:21:47 +00:00
docker-compose.yml Update Redis 2022-01-27 18:59:37 +00:00
Dockerfile Update to Python 3.10 2022-01-27 18:44:00 +00:00
LICENSE.md Update copyrights 2021-01-30 17:00:58 +00:00
README.md Fix build status badge 2021-05-03 18:43:11 +01:00
requirements.lock.txt Update to Python 3.10 2022-01-27 18:44:00 +00:00
requirements.txt Update to Python 3.10 2022-01-27 18:44:00 +00:00

Content Database

Build Status

Content database for Minetest mods, games, and more.
Developed by rubenwardy, license AGPLv3.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