Back Home

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 front-end used the standard and basic stack. Keeping the code as minimal and lightweight as possible.

Back-end

Go with mostly standard packages

The app uses net/http for routing and database/sql with pgx for database work.

Database

PostgreSQL

All of the data is stored in a Postgres server. Serving the queries in the backend using Go.

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

DNS is set up through cloudflare, with caddy being the server to handle HTTPS and certificates. Go runs behind a reverse proxy on the VPS.

Interactive map

Click a node to zoom in

Overview mode