A fork of the original contentdb, codenamed "Okapi".
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.
 
 
 
 
 
 
rubenwardy 8ad066409c Fix notification digest issue 10 months ago
.github Use GitHub actions (#295) 2 years ago
app Fix notification digest issue 10 months ago
docs Small fixes 10 months ago
migrations Add game support detection 10 months ago
translations Translated using Weblate (Chinese (Simplified)) 10 months ago
utils Update to Python 3.10 10 months ago
.dockerignore Delete inactive user accounts after 12 hours 1 year ago
.gitignore Enable translation support 11 months ago
Dockerfile Update to Python 3.10 10 months ago
LICENSE.md Update copyrights 2 years ago
README.md Fix small typos in dev_intro 10 months ago
babel.cfg Add translation support 3 years ago
config.example.cfg Update dependencies 10 months ago
docker-compose.yml Disable Celery concurrency, to see if it fixes the session issue 10 months ago
requirements.lock.txt Update to Python 3.10 10 months ago
requirements.txt Update to Python 3.10 10 months ago

README.md

Content Database

Build Status

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