The official ecosystem platform for the Fantasy Craft game engine.
Foxvoid is a monolithic Django application designed to serve as the central hub for the Fantasy Craft game engine. It handles user authentication, game distribution (WASM), cloud telemetry, and provides a community platform for developers.
- Modern Admin UI: Powered by Django Unfold, offering a clean, Tailwind-based interface for management.
- Robust Authentication: Custom User model extending
AbstractUserwith:- 🌍 Localization: Timezone-aware (via
django-timezone-field) and Country management (viadjango-countries). - 🖼️ Avatar System: Automatic fallback to username initials if no image is provided.
- 🌍 Localization: Timezone-aware (via
- Full Internationalization (i18n):
- Bilingual support (English/French) via
django-modeltranslation. - URL-based language prefixing (e.g.,
/fr/admin/). - Integrated translation UI with Django Rosetta.
- Bilingual support (English/French) via
- Frontend Architecture:
- Tailwind CSS integrated via
django-tailwindwith Hot Module Replacement (HMR). - Responsive, dark-mode first design.
- Tailwind CSS integrated via
- Developer Experience:
- Debug Toolbar configured for local development.
- Backend: Django 5.x, Python 3.12+
- Frontend: Tailwind CSS, PostCSS
- Database: MySQL (Dev), PostgreSQL (Prod - Ready)
- Utilities:
django-modeltranslation(DB Translation)django-rosetta(Translation UI)
- Python 3.10+
- Node.js & npm (Required for Tailwind CSS compilation)
-
Clone the repository
git clone [https://github.com/ikigami0513/foxvoid.git](https://github.com/ikigami0513/foxvoid.git) cd foxvoid -
Install Python dependencies
poetry install
-
Activate the virtual environment
poetry shell
-
Install Node.js dependencies (Tailwind)
python manage.py tailwind install
-
Apply migrations
python manage.py migrate
-
Create a superuser
python manage.py createsuperuser
To run the project with hot-reloading for Tailwind, you need two terminal instances:
Terminal 1: Django Server
python manage.py runserver**Terminal 2: Tailwind Watcher
python manage.py tailwind start
Visit http://127.0.0.1:8000/ to see the landing page, or http://127.0.0.1:8000/admin/ for the dashboard.
foxvoid/
├── core/ # Project configuration (settings, wsgi, urls)
├── authentication/ # Custom User model & Auth logic
├── public/ # Landing pages & Marketing views
├── theme/ # Tailwind CSS configuration & source files
├── locale/ # Translation files (.po/.mo)
├── static/ # Compiled static assets
└── templates/ # Global HTML templates
To update translations:
- Generate message files (scans code & templates):
python manage.py makemessages -l fr
-
Translate using the admin interface at /rosetta/ or edit .po files manually.
-
Compile messages:
python manage.py compilemessages
This software is free to use for personal or educational purposes. Commercial Restriction: If you use this software to provide a SaaS (Software-as-a-Service) product that competes with Foxvoid Studio, you must release your entire source code under the AGPLv3.
For a commercial, non-copyleft license (to run a private fork without sharing code), please contact [email protected].