minetest / contentdb

A content database for Minetest mods, games, and more
https://content.minetest.net
GNU Affero General Public License v3.0
93 stars 45 forks source link
hacktoberfest minetest mod restful-api website

ContentDB

Build Status

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

Credits

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

# Delete database
docker-compose down && sudo rm -rf data/db

VSCode: Setting up Linting

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