Files
2026-03-30 23:22:55 -05:00

1.8 KiB

GD FEDL

A lightweight Geometry Dash FEDL-style website with a built-in Node.js server and browser-based list manager.

It includes:

  • a home page
  • a list page for ranked level videos
  • a manage page for editing the list in the browser
  • a players page
  • a rules page
  • a Node.js server with a JSON API

Project Files

  • index.html - home page
  • lists.html - main list view
  • manage.html - browser UI for adding, editing, and deleting list entries
  • players.html - player manager
  • rules.html - submission rules and mod guidelines
  • app.js - client-side logic for the list and players pages
  • styles.css - site styling
  • server.js - Node.js server and API
  • data.json - primary list storage generated by the server
  • data.txt - compatibility export rewritten by the server
  • package.json - start script for the Node server

How The List Data Works

The site now serves list data through GET /api/levels.

The server stores entries in data.json and also keeps data.txt updated automatically for compatibility.

Legacy data.txt lines still use this format:

category|position|title|url

Example:

new|1|Flamewall|https://youtu.be/x4Io4zkWVRw

Running The Site

Start the Node server:

npm start

Then open:

http://localhost:8000

Editing The List

Open:

http://localhost:8000/manage.html

From there you can:

  • add entries
  • edit existing entries
  • delete entries
  • search the current list

The server also exposes these API routes:

  • GET /api/levels
  • POST /api/levels
  • PUT /api/levels/:id
  • DELETE /api/levels/:id

Notes

  • On first run, the server will migrate the current data.txt into data.json
  • Player data is stored in the browser with localStorage
  • The players list is local to each browser/device
  • No external npm packages are required