Clean up codebase and fix server host binding for IPv6 support
Cleanup: - Remove unused aircraft-icon.svg (replaced by type-specific icons) - Remove test files: beast-dump-with-heli.bin, beast.test, main, old.json, ux.png - Remove duplicate config.json.example (kept config.example.json) - Remove empty internal/coverage/ directory - Move CLAUDE.md to project root - Update assets.go documentation to reflect current icon structure - Format all Go code with gofmt Server Host Binding Fix: - Fix critical bug where server host configuration was ignored - Add host parameter to Server struct and NewWebServer constructor - Rename NewServer to NewWebServer for better clarity - Fix IPv6 address formatting in server binding (wrap in brackets) - Update startup message to show correct bind address format - Support localhost-only, IPv4, IPv6, and interface-specific binding This resolves the "too many colons in address" error for IPv6 hosts like ::1 and enables proper localhost-only deployment as configured. Closes #15 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
67d0e0612a
commit
0d60592b9f
16 changed files with 266 additions and 289 deletions
40
CLAUDE.md
40
CLAUDE.md
|
|
@ -1 +1,39 @@
|
|||
- This project uses forgejo for source control and the fj client is available.
|
||||
# SkyView Project Guidelines
|
||||
|
||||
## Documentation Requirements
|
||||
- We should always have an up to date document describing our architecture and features
|
||||
- Include links to any external resources we've used
|
||||
- We should also always have an up to date README describing the project
|
||||
- Shell scripts should be validated with shellcheck
|
||||
- Always make sure the code is well documented with explanations for why and how a particular solution is selected
|
||||
|
||||
## Development Principles
|
||||
- An overarching principle with all code is KISS, Keep It Simple Stupid
|
||||
- We do not want to create code that is more complicated than necessary
|
||||
- When changing code, always make sure to update any relevant tests
|
||||
- Use proper error handling - aviation applications need reliability
|
||||
|
||||
## SkyView-Specific Guidelines
|
||||
|
||||
### Architecture & Design
|
||||
- Multi-source ADS-B data fusion is the core feature - prioritize signal strength-based conflict resolution
|
||||
- Embedded resources (SQLite ICAO database, static assets) over external dependencies
|
||||
- Low-latency performance is critical - optimize for fast WebSocket updates
|
||||
- Support concurrent aircraft tracking (100+ aircraft should work smoothly)
|
||||
|
||||
### Code Organization
|
||||
- Keep Go packages focused: beast parsing, modes decoding, merger, server, clients
|
||||
- Frontend should be modular: separate managers for aircraft, map, UI, websockets
|
||||
- Database operations should be fast (use indexes, avoid N+1 queries)
|
||||
|
||||
### Performance Considerations
|
||||
- Beast binary parsing must handle high message rates (1000+ msg/sec per source)
|
||||
- WebSocket broadcasting should not block on slow clients
|
||||
- Memory usage should be bounded (configurable history limits)
|
||||
- CPU usage should remain low during normal operation
|
||||
|
||||
### Documentation Maintenance
|
||||
- Always update docs/ARCHITECTURE.md when changing system design
|
||||
- README.md should stay current with features and usage
|
||||
- External resources (ICAO docs, ADS-B standards) should be linked in documentation
|
||||
- Country database updates should be straightforward (replace SQLite file)
|
||||
Loading…
Add table
Add a link
Reference in a new issue