🔗 Software
In no particular order, the following lists the third-party software used in Awayto, along with their key features and a primary source for usage in the system:
| Technology | Description | Source |
|---|---|---|
| Make | Task running, building, deploying | Makefile |
| Shell | Deployment install/configure scripts | /deploy/scripts |
| Docker | Container service, docker compose, supports cloud deployments | /deploy/scripts/docker |
| Postgres | Primary database | /deploy/scripts/db |
| React | Front end TSX components and hooks built with a customized CRACO config | /ts |
| ReduxJS Toolkit | React state management and API integrating with Protobufs | /ts/src/hooks/store.ts |
| PNPM | Front end package management | /ts/package.json |
| Let’s Encrypt | External certificate authority | |
| Hetzner | Cloud deployment variant | /deploy/scripts/host |
| Keycloak | Authentication and authorization, SSO, SAML, RBAC | /java |
| Redis | Sessions & caching | /go/pkg/clients/redis.go |
| Hugo | Static site generator for landing, documentation, marketing | /landing |
| DayJS | Scheduling and time management utilities | /ts/src/hooks/time_unit.ts |
| Material-UI | React UI framework based on Material Design | /ts/src/modules |
| Coturn | TURN & STUN server for WebRTC based voice and video calling | /deploy/scripts/turn |
| WebSockets | Dedicated websocket server for messaging orchestration, interactive whiteboard | /go/pkg/clients/sock.go |