diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index a018249..edd68ff 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -97,14 +97,14 @@ SkyView is a high-performance, multi-source ADS-B aircraft tracking system built **Purpose**: Provides comprehensive ICAO address to country mapping **Key Features**: -- Embedded SQLite database with 70+ allocations covering 40+ countries -- Based on official ICAO Document 8585 -- Fast range-based lookups using database indexing -- Country names, ISO codes, and flag emojis +- In-memory database with 100+ allocations covering 70+ countries and territories +- Based on official aerotransport.org ICAO allocation tables +- Fast binary search lookups on sorted allocation ranges +- Complete country names, ISO codes, and flag emojis +- Zero external dependencies - pure Go implementation **Files**: -- `database.go`: SQLite database interface -- `icao.db`: Embedded SQLite database with ICAO allocations +- `database.go`: In-memory ICAO allocation database with binary search ### 5. HTTP/WebSocket Server (`internal/server/`) @@ -157,7 +157,7 @@ SkyView is a high-performance, multi-source ADS-B aircraft tracking system built ### 3. Country Lookup 1. **ICAO Extraction**: Extract 24-bit ICAO address from aircraft data -2. **Database Query**: Lookup country information in embedded SQLite database +2. **Database Query**: Lookup country information in in-memory database using binary search 3. **Data Enrichment**: Add country, country code, and flag to aircraft state ### 4. Data Distribution @@ -256,7 +256,6 @@ SkyView is a high-performance, multi-source ADS-B aircraft tracking system built - **Leaflet.js**: https://leafletjs.com/ - Interactive maps - **Three.js**: https://threejs.org/ - 3D visualization - **Chart.js**: https://www.chartjs.org/ - Statistics charts -- **SQLite**: https://www.sqlite.org/ - ICAO country database - **WebSocket Protocol**: RFC 6455 ### ADS-B Ecosystem