Monorepo: Gitea CI, docs, auth/sync, backend APIs, gitignore

- Add Gitea Actions workflow; point README to gitea.d-bis.org/Sankofa_Phoenix/SMOA
- Expand .gitignore for Spring H2 data, secrets, Kotlin .kotlin/, tooling
- Track docs/api/generated ReDoc bundle; refresh api docs README
- Android: network/auth/sync, UI shell, tests; backend credentials/integrity APIs
- Docs, scripts (generate-api-docs), modules and core updates

Made-with: Cursor
This commit is contained in:
defiQUG
2026-03-23 20:19:24 -07:00
parent f97e23592c
commit a2dc194a49
234 changed files with 10008 additions and 1149 deletions
+29
View File
@@ -0,0 +1,29 @@
# TURN and signaling for WebRTC
For meetings and communications beyond STUN-only NAT traversal:
## Coturn (TURN/STUN)
Example `turnserver.conf`:
```conf
listening-port=3478
tls-listening-port=5349
realm=smoa.example.com
server-name=smoa.example.com
use-auth-secret
static-auth-secret=YOUR_LONG_SECRET
cert=/etc/letsencrypt/live/smoa.example.com/fullchain.pem
pkey=/etc/letsencrypt/live/smoa.example.com/privkey.pem
```
Issue **time-limited credentials** (HMAC) from your backend; Android app passes them via `InfrastructureManager.setTurnEndpoints`.
## Signaling
Use **WebSocket** or **HTTPS long-poll** between clients and a small Node/Go/Java service that maps room IDs to SDP/ICE relay. Set `SMOA_SIGNALING_URLS` (comma-separated) in the Android build for `InfrastructureManager`.
## Related
- [nginx-smoa.conf.example](./nginx-smoa.conf.example) – TLS termination
- [docker-compose.yml](../../docker-compose.yml) – backend container