# Shoulders

Beacon stands on the shoulders of giants. Thank you to the following open source
projects that make this possible:

## Core dependencies

- [meshcore-go](https://github.com/meshcore-go/meshcore-go) — MeshCore packet
  decoding
- [paho.mqtt.golang](https://github.com/eclipse/paho.mqtt.golang) — MQTT client
- [pgx](https://github.com/jackc/pgx) — PostgreSQL driver and connection pool
- [sqlc](https://sqlc.dev) — Type-safe SQL code generation
- [chi](https://github.com/go-chi/chi) — HTTP router
- [go-chi/cors](https://github.com/go-chi/cors) — CORS middleware for chi
- [go-redis](https://github.com/redis/go-redis) — Redis client
- [coder/websocket](https://github.com/coder/websocket) — WebSocket
  implementation
- [swaggo/swag](https://github.com/swaggo/swag) — OpenAPI documentation
  generation
- [godotenv](https://github.com/joho/godotenv) — .env file loading
- [yaml.v3](https://github.com/go-yaml/yaml) — YAML config parsing
- [google/uuid](https://github.com/google/uuid) — UUID generation

## Data

- [OurAirports](https://ourairports.com/data/) — IATA airport geographic data
  (CC0 public domain)

## Infrastructure

- [PostgreSQL](https://www.postgresql.org) — Primary data store
- [Redis](https://redis.io) — Optional caching layer
- [Caddy](https://caddyserver.com) — Reverse proxy

## Language

- [Go](https://go.dev) — The language that makes this all possible
