diff --git a/.gitignore b/.gitignore index aedbbcb..20e7e00 100644 --- a/.gitignore +++ b/.gitignore @@ -36,12 +36,4 @@ Thumbs.db # Temporary files tmp/ -temp/ - -# Database files -*.db -*.db-shm -*.db-wal -*.sqlite -*.sqlite3 -dev-skyview.db \ No newline at end of file +temp/ \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index c8b46c9..c7a8ea6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -103,5 +103,4 @@ This document outlines coding standards, architectural principles, and developme --- -These guidelines ensure SkyView remains reliable, maintainable, and suitable for aviation use while supporting continued development and enhancement. -- All future changes to the UX should keep in mind a gradual move to a mobile friendly design, but not at the cost of a working and useful UI for non-mobile clients. \ No newline at end of file +These guidelines ensure SkyView remains reliable, maintainable, and suitable for aviation use while supporting continued development and enhancement. \ No newline at end of file diff --git a/Makefile b/Makefile index 1543a96..2f71042 100644 --- a/Makefile +++ b/Makefile @@ -17,14 +17,8 @@ build-beast-dump: @mkdir -p $(BUILD_DIR) go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/beast-dump ./cmd/beast-dump -# Build skyview-data database management binary -build-skyview-data: - @echo "Building skyview-data..." - @mkdir -p $(BUILD_DIR) - go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/skyview-data ./cmd/skyview-data - # Build all binaries -build-all: build build-beast-dump build-skyview-data +build-all: build build-beast-dump @echo "Built all binaries successfully:" @ls -la $(BUILD_DIR)/ @@ -105,4 +99,4 @@ vet: check: format vet lint test @echo "All checks passed!" -.DEFAULT_GOAL := build-all \ No newline at end of file +.DEFAULT_GOAL := build \ No newline at end of file diff --git a/README.md b/README.md index a034158..3765f15 100644 --- a/README.md +++ b/README.md @@ -27,15 +27,12 @@ A high-performance, multi-source ADS-B aircraft tracking application that connec - **Map Controls**: Center on aircraft, reset to origin, toggle overlays - **Signal Heatmaps**: Coverage heatmap visualization *(under construction)* š§ -### Aircraft Data Enhancement +### Aircraft Data - **Complete Mode S Decoding**: Position, velocity, altitude, heading - **Aircraft Identification**: Callsign, category, country, registration -- **Enhanced Callsign Lookup**: Multi-source airline database with 6,162+ airlines and 83,557+ airports -- **Aviation Data Integration**: OpenFlights and OurAirports databases with automatic updates - **ICAO Country Database**: Comprehensive embedded database with 70+ allocations covering 40+ countries - **Multi-source Tracking**: Signal strength from each receiver -- **Historical Data**: Position history with configurable retention -- **Database Optimization**: Automatic VACUUM operations and storage efficiency monitoring +- **Historical Data**: Position history and trail visualization ## š Quick Start @@ -258,66 +255,23 @@ sudo journalctl -u skyview -f make build # Create user and directories -sudo useradd -r -s /bin/false skyview-adsb -sudo mkdir -p /etc/skyview-adsb /var/lib/skyview-adsb /var/log/skyview-adsb -sudo chown skyview-adsb:skyview-adsb /var/lib/skyview-adsb /var/log/skyview-adsb +sudo useradd -r -s /bin/false skyview +sudo mkdir -p /etc/skyview /var/lib/skyview /var/log/skyview +sudo chown skyview:skyview /var/lib/skyview /var/log/skyview # Install binary and config sudo cp build/skyview /usr/bin/ -sudo cp build/skyview-data /usr/bin/ -sudo cp config.example.json /etc/skyview-adsb/config.json -sudo chown root:skyview-adsb /etc/skyview-adsb/config.json -sudo chmod 640 /etc/skyview-adsb/config.json +sudo cp config.example.json /etc/skyview/config.json +sudo chown root:skyview /etc/skyview/config.json +sudo chmod 640 /etc/skyview/config.json # Create systemd service -sudo cp debian/lib/systemd/system/skyview-adsb.service /lib/systemd/system/ -sudo cp debian/lib/systemd/system/skyview-database-update.service /lib/systemd/system/ -sudo cp debian/lib/systemd/system/skyview-database-update.timer /lib/systemd/system/ +sudo cp debian/lib/systemd/system/skyview.service /lib/systemd/system/ sudo systemctl daemon-reload -sudo systemctl enable skyview-adsb -sudo systemctl enable skyview-database-update.timer -sudo systemctl start skyview-adsb -sudo systemctl start skyview-database-update.timer +sudo systemctl enable skyview +sudo systemctl start skyview ``` -### Database Management - -SkyView includes powerful database management capabilities through the `skyview-data` command: - -```bash -# Update aviation data sources (airlines, airports) -skyview-data update - -# Optimize database storage and performance -skyview-data optimize - -# Check database optimization statistics -skyview-data optimize --stats-only - -# List available data sources -skyview-data list - -# Check current database status -skyview-data status -``` - -The system automatically: -- Updates aviation databases on service startup -- Runs weekly database updates via systemd timer -- Optimizes storage with VACUUM operations -- Monitors database efficiency and statistics - -### Configuration - -SkyView supports comprehensive configuration including external aviation data sources: - -- **3 External Data Sources**: OpenFlights Airlines (~6,162), OpenFlights Airports (~7,698), OurAirports (~83,557) -- **Database Management**: Automatic optimization, configurable retention, backup settings -- **Privacy Controls**: Privacy mode for air-gapped operation, selective source control -- **Performance Tuning**: Connection pooling, cache settings, update intervals - -See **[Configuration Guide](docs/CONFIGURATION.md)** for complete documentation of all options. - ## š Security The application includes security hardening: diff --git a/assets/assets.go b/assets/assets.go index e80edaa..54e1c4a 100644 --- a/assets/assets.go +++ b/assets/assets.go @@ -28,6 +28,5 @@ import "embed" // This approach ensures the web interface is always available without requiring // external file deployment or complicated asset management. // -// Updated to include database.html for database status page //go:embed static var Static embed.FS diff --git a/assets/static/css/style.css b/assets/static/css/style.css index 3879d96..5389c2d 100644 --- a/assets/static/css/style.css +++ b/assets/static/css/style.css @@ -566,95 +566,6 @@ body { color: #00ff88 !important; } -/* Rich callsign display styles */ -.callsign-display { - display: inline-block; -} - -.callsign-display.enriched { - display: inline-flex; - flex-direction: column; - gap: 0.25rem; -} - -.callsign-code { - display: inline-flex; - align-items: center; - gap: 0.25rem; -} - -.airline-code { - color: #00ff88 !important; - font-weight: 600; - font-family: monospace; - background: rgba(0, 255, 136, 0.1); - padding: 0.1rem 0.3rem; - border-radius: 3px; - border: 1px solid rgba(0, 255, 136, 0.3); -} - -.flight-number { - color: #00a8ff !important; - font-weight: 500; - font-family: monospace; -} - -.callsign-details { - font-size: 0.85rem; - opacity: 0.9; -} - -.airline-name { - color: #ffd700 !important; - font-weight: 500; -} - -.airline-country { - color: #cccccc !important; - font-size: 0.8rem; - opacity: 0.8; -} - -.callsign-display.simple { - color: #00ff88 !important; - font-family: monospace; -} - -.callsign-display.no-data { - color: #888888 !important; - font-style: italic; -} - -/* Compact callsign for table view */ -.callsign-compact { - color: #00ff88 !important; - font-family: monospace; - font-weight: 500; -} - -/* Loading state for callsign enhancement */ -.callsign-loading { - position: relative; -} - -.callsign-loading::after { - content: 'ā³'; - margin-left: 0.25rem; - opacity: 0.6; - animation: spin 1s linear infinite; - font-size: 0.8rem; -} - -@keyframes spin { - from { transform: rotate(0deg); } - to { transform: rotate(360deg); } -} - -.callsign-enhanced { - /* Smooth transition when enhanced */ - transition: all 0.3s ease; -} - .popup-details { font-size: 0.9rem; color: #ffffff !important; diff --git a/assets/static/database.html b/assets/static/database.html deleted file mode 100644 index cec9db8..0000000 --- a/assets/static/database.html +++ /dev/null @@ -1,360 +0,0 @@ - - -
- - -