mirror of
https://github.com/MeshCore-Beacon/beacon-server.git
synced 2026-10-19 05:59:54 +00:00
* docs: keep only server-specific contributor notes * docs: trim README to the code and link to beacon-docs * chore: strip tracking parameters from two airport website URLs
2.0 KiB
2.0 KiB
Shoulders
Beacon stands on the shoulders of giants. Thank you to the following open source projects that make this possible:
Core dependencies
- meshcore-go: MeshCore packet decoding
- paho.mqtt.golang: MQTT client
- pgx: PostgreSQL driver and connection pool
- sqlc: Type-safe SQL code generation
- chi: HTTP router
- go-chi/cors: CORS middleware for chi
- go-chi/httprate: Per-client HTTP sliding-window rate limits and retry headers
- go-redis: Redis client
- coder/websocket: WebSocket implementation
- swaggo/swag: OpenAPI documentation generation
- godotenv: .env file loading
- yaml.v3: YAML config parsing
- google/uuid: UUID generation
- golang.org/x/sync: singleflight for collapsing concurrent cache misses
- paulmach/orb: GeoJSON border geometry and point-in-polygon checks
- swaggo/http-swagger: Swagger UI handler
Testing
- go.uber.org/mock: gomock mocks for the generated queries
- miniredis: In-memory Redis for cache tests
Data
- OurAirports: IATA airport geographic data (CC0 public domain)
Infrastructure
- PostgreSQL: Primary data store
- Redis: Optional caching layer
- Caddy: Reverse proxy
Language
- Go: The language that makes this all possible