diff --git a/CLAUDE.md b/CLAUDE.md
index ee350a6..ef5ff54 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Project Overview
-Pixel View is a retro SNES-style side-view flight tracker that displays ADS-B aircraft data with custom pixel art sprites. It's a standalone sub-project within the larger IceNet-ADS-B system.
+ADS-Bit is a retro SNES-style side-view flight tracker that displays ADS-B aircraft data with custom pixel art sprites.
## Running the Server
@@ -28,12 +28,13 @@ Access at http://localhost:{web_port} (configured in config.json)
- Parses SBS/BaseStation format messages from receivers
- Broadcasts flight data to connected WebSocket clients every 1 second
- Cleans up flights not seen in 60 seconds
- - Serves static files and receiver location API
+ - Serves static files, admin panel, setup wizard, and APIs
+ - Authentication via bcrypt password hashing and session cookies
- **config.json** - Configuration file for receiver and location settings
- See CONFIG.md for full documentation
-- **pixel-view.js** - JavaScript rendering engine (Canvas-based)
+- **ads-bit.js** - JavaScript rendering engine (Canvas-based)
- Handles WebSocket connection and flight data updates
- Renders 10 FPS retro-style canvas animation
- Layer order (bottom to top): sky gradient → clouds → sun → moon → directional background → grid → aircraft → labels
@@ -43,6 +44,10 @@ Access at http://localhost:{web_port} (configured in config.json)
- **index.html** - Main HTML interface with embedded styles
+- **admin/** - Admin panel (login + tabbed settings UI)
+
+- **setup/** - First-run setup wizard (multi-step configuration)
+
### Sprite Assets
All PNG sprites face right (eastward) and are flipped in-canvas for westbound aircraft:
@@ -79,6 +84,7 @@ The viewer can rotate between cardinal directions (N/E/S/W), showing aircraft in
Python packages required:
- aiohttp (web server and WebSocket)
- netifaces (network interface scanning)
+- bcrypt (password hashing)
No package.json - frontend is vanilla JavaScript with no build step.
diff --git a/CONFIG.md b/CONFIG.md
index b5632f2..5f127f1 100644
--- a/CONFIG.md
+++ b/CONFIG.md
@@ -1,6 +1,6 @@
-# Pixel View Configuration Guide
+# ADS-Bit Configuration Guide
-This guide explains how to configure Pixel View for your ADS-B receiver setup.
+This guide explains how to configure ADS-Bit for your ADS-B receiver setup.
## Configuration File
@@ -55,7 +55,7 @@ Edit `config.json` to customize your installation:
## Background Themes
-Pixel View uses directional background images to show the horizon view from your receiver location. Backgrounds are organized into themes stored in the `backgrounds/` folder.
+ADS-Bit uses directional background images to show the horizon view from your receiver location. Backgrounds are organized into themes stored in the `backgrounds/` folder.
### Available Themes
@@ -228,29 +228,29 @@ All aircraft sprites should face **right (east)** - the code flips them automati
## Running as a Service (Auto-Start)
-To run Pixel-ADSB automatically on boot, create a systemd service:
+To run ADS-Bit automatically on boot, create a systemd service:
### 1. Create the service file
```bash
-sudo nano /etc/systemd/system/pixel-adsb.service
+sudo nano /etc/systemd/system/ads-bit.service
```
Add this content (adjust paths as needed):
```ini
[Unit]
-Description=Pixel-ADSB Flight Tracker
+Description=ADS-Bit Flight Tracker
After=network.target
[Service]
Type=simple
-WorkingDirectory=/path/to/pixel-view
-ExecStart=/usr/bin/python3 /path/to/pixel-view/server.py
+WorkingDirectory=/path/to/ADS-BIT
+ExecStart=/usr/bin/python3 /path/to/ADS-BIT/server.py
Restart=always
RestartSec=5
-StandardOutput=append:/var/log/pixel-adsb.log
-StandardError=append:/var/log/pixel-adsb.log
+StandardOutput=append:/var/log/ads-bit.log
+StandardError=append:/var/log/ads-bit.log
[Install]
WantedBy=multi-user.target
@@ -260,18 +260,18 @@ WantedBy=multi-user.target
```bash
sudo systemctl daemon-reload
-sudo systemctl enable pixel-adsb
-sudo systemctl start pixel-adsb
+sudo systemctl enable ads-bit
+sudo systemctl start ads-bit
```
### 3. Check status
```bash
-sudo systemctl status pixel-adsb
+sudo systemctl status ads-bit
```
### 4. View logs
```bash
-tail -f /var/log/pixel-adsb.log
+tail -f /var/log/ads-bit.log
```
diff --git a/README.md b/README.md
index e331e0e..cd003aa 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
-# Pixel-ADSB
+# ADS-Bit
A retro SNES-style side-view flight tracker that displays ADS-B aircraft data with custom pixel art sprites.
-
+
## Features
@@ -14,6 +14,8 @@ A retro SNES-style side-view flight tracker that displays ADS-B aircraft data wi
- Directional view (N/E/S/W) with themed backgrounds
- Auto-discovery of ADS-B receivers on your network
- Canvas-based 10 FPS retro rendering
+- Admin panel with password authentication
+- First-run setup wizard
## Quick Start
@@ -25,14 +27,11 @@ cd ADS-Bit
# Install dependencies
pip install -r requirements.txt
-# Configure your location (required for weather and celestial positioning)
-# Edit config.json and set your lat/lon coordinates
-
# Start the server
python3 server.py
```
-Access at http://localhost:2001
+On first run, visit http://localhost:2001 and the setup wizard will guide you through configuration.
## Requirements
@@ -42,7 +41,7 @@ Access at http://localhost:2001
## Configuration
-Edit `config.json` to customize your installation:
+ADS-Bit uses a first-run setup wizard to configure your installation. You can also edit `config.json` directly:
```json
{
diff --git a/pixel-view.js b/ads-bit.js
similarity index 99%
rename from pixel-view.js
rename to ads-bit.js
index 0e6fb2f..607c6f8 100644
--- a/pixel-view.js
+++ b/ads-bit.js
@@ -1,5 +1,5 @@
-// Pixel ADS-B - Retro Side View
-class PixelADSB {
+// ADS-Bit - Retro Side View
+class ADSBit {
constructor() {
this.canvas = document.getElementById('pixel-canvas');
this.ctx = this.canvas.getContext('2d');
@@ -618,7 +618,7 @@ class PixelADSB {
async fetchReceiverLocation() {
try {
- // Fetch from same server that serves pixel-view
+ // Fetch from same server that serves ADS-Bit
const response = await fetch('/api/receiver-location');
const data = await response.json();
this.receiverLat = data.lat;
@@ -1970,4 +1970,4 @@ class PixelADSB {
}
// Initialize the app
-const app = new PixelADSB();
+const app = new ADSBit();
diff --git a/index.html b/index.html
index 9465e82..b010c5a 100644
--- a/index.html
+++ b/index.html
@@ -397,6 +397,6 @@
☀ --:-- / 🌙 --:--
-
+