Open-source rewrite of Yixboost Games
https://version2.yixboost.eu
- Python 88.9%
- HTML 8.4%
- JavaScript 2.7%
| .vscode | ||
| core | ||
| custom_plugins | ||
| custom_themes | ||
| plugins | ||
| routes | ||
| static | ||
| themes | ||
| wiki | ||
| .gitignore | ||
| .gitmodules | ||
| agent-instructions.txt | ||
| cache.py | ||
| config.example.json | ||
| database.py | ||
| LICENSE | ||
| main.py | ||
| models.py | ||
| NOTES.md | ||
| README.md | ||
games-v2
Open-source rewrite of Yixboost Games
App structure
main.pyis the thin FastAPI entrypoint.core/owns the application factory, settings, database, cache, shared routes, template hooks, registries, error handlers, and plugin loader.plugins/contains built-in and future plugins. Plugin templates live inside each plugin atplugins/<plugin>/templates/<plugin>/.plugins/game_loader/is the built-in plugin that registers the homepage, game detail route, and/api/v1/games.plugins/search/registers/searchand injects a navbar search form through thenavbar_actionshook.custom_plugins/andcustom_themes/are reserved for local extensions.themes/default/provides the default page structure throughlayouts/base.html.wiki/contains short guides for config, plugins, auth, database requirements, and themes.
Run locally with:
python3 -m uvicorn main:app --reload
OAuth login
Copy config.example.json to config.json, fill in the OAuth client details, and set the provider's redirect URI to:
http://127.0.0.1:8000/auth/callback
The core supports OpenID Connect discovery through oauth.well_known_url. Users are created or updated in the users table after login.