Initial implementation of SkyView - ADS-B aircraft tracker

- Go application with embedded static files for dump1090 frontend
- TCP client for SBS-1/BaseStation format (port 30003)
- Real-time WebSocket updates with aircraft tracking
- Modern web frontend with Leaflet maps and mobile-responsive design
- Aircraft table with filtering/sorting and statistics dashboard
- Origin configuration for receiver location and distance calculations
- Automatic config.json loading from current directory
- Foreground execution by default with optional -daemon flag

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2025-08-23 22:09:37 +02:00
commit 8ce4f4c397
19 changed files with 1971 additions and 0 deletions

48
Makefile Normal file
View file

@ -0,0 +1,48 @@
BINARY_NAME=skyview
BUILD_DIR=build
.PHONY: build clean run dev test lint
build:
@echo "Building $(BINARY_NAME)..."
@mkdir -p $(BUILD_DIR)
go build -ldflags="-w -s" -o $(BUILD_DIR)/$(BINARY_NAME) .
clean:
@echo "Cleaning..."
@rm -rf $(BUILD_DIR)
go clean
run: build
@echo "Running $(BINARY_NAME)..."
@./$(BUILD_DIR)/$(BINARY_NAME)
dev:
@echo "Running in development mode..."
go run main.go
test:
@echo "Running tests..."
go test ./...
lint:
@echo "Running linter..."
@if command -v golangci-lint > /dev/null 2>&1; then \
golangci-lint run; \
else \
echo "golangci-lint not installed, skipping lint"; \
fi
docker-build:
@echo "Building Docker image..."
docker build -t skyview .
podman-build:
@echo "Building Podman image..."
podman build -t skyview .
install-deps:
@echo "Installing Go dependencies..."
go mod tidy
.DEFAULT_GOAL := build