A centralized meta-aggregator for X-Wing Miniatures Game competitive data.
Table of Contents
M3tacron brings together competitive data from different platforms so you don't have to check multiple websites.
- Data Aggregation: Pulls tournament results from Longshanks, Rollbetter, and Listfortress.
- Search & Filter: Find tournaments, lists, and pilots using global filters.
- Analytics: Browse top-performing lists to see what's currently working in the meta.
- Responsive UI: Works seamlessly on both desktop and mobile screens.
M3tacron uses a decoupled architecture with two independent layers:
- Frontend — SvelteKit + Tailwind CSS v4 + Chart.js. A fast, server-rendered UI with client-side navigation and reactive data fetching.
- Backend — FastAPI (Python). A RESTful API serving tournament data, analytics, and meta snapshots.
- Scraping — An object-oriented ingestion pipeline leveraging Playwright for robust, browser-based scraping of dynamic JavaScript-rendered content from Longshanks, Rollbetter, and Listfortress.
- Data Layer — SQLite (via SQLModel/SQLAlchemy) for local development, with a migration path to Supabase (PostgreSQL) for production.
-
Clone the repo:
git clone https://github.com/Francespo/m3tacron.git cd m3tacron -
Set up the Python backend:
python -m venv .venv .venv\Scripts\activate # Windows # source .venv/bin/activate # macOS/Linux pip install -r requirements.txt
-
Prepare the local database: The repository includes a
seed.dbwith demo data. Copy it so you can preview the app immediately:cp seed.db test.db
Then create a
.envfile in the root directory:DATABASE_URL="sqlite:///test.db"
-
Install frontend dependencies:
cd frontend npm install cd ..
-
Start both servers:
Terminal 1 — Backend (from project root):
python -m uvicorn backend.main:app --reload --port 8100
Terminal 2 — Frontend (from
frontend/):cd frontend npm run devThe site will be available at
http://localhost:5173, with the API athttp://localhost:8100.
M3tacron is an unofficial fan project and is not endorsed by, sponsored by, or affiliated with Lucasfilm Ltd., Disney, Fantasy Flight Games, or Atomic Mass Games.
All Star Wars characters, names, images, and related content are trademarks and/or copyrights of their respective property owners. The data aggregated by this tool is strictly for informational and non-commercial purposes.