FightDB.org system walkthrough

Architecture overview

This page shows how the site moves from a browser request, through the VPS and Go application, into PostgreSQL, and how the Python data pipeline keeps the database up to date.

At a glance

Each layer of the stack

Front-end

HTML, CSS, JavaScript

The browser renders a lightweight interface with standard web tech, keeping the client side simple and fast.

Back-end

Go with mostly standard packages

The app uses net/http for routing and database/sql with pgx for database work, which keeps dependencies small and the request path predictable.

Database

PostgreSQL

Fighter, event, and matchup data lives in Postgres so the Go app can serve structured pages and queries reliably.

Data retrieval

Python scraper pipeline

Python scripts use BeautifulSoup 4 to scrape source sites and psycopg2 to normalize and insert fresh data.

Hosting

Hetzner VPS on Ubuntu

Cloudflare handles DNS, Caddy terminates HTTPS, and the Go service runs behind the reverse proxy on the VPS.

Interactive map

Click a node to zoom in

Overview mode