Angular 21 SPA for BizCord, served by nginx — Discord-like real-time team communication.
3.6K
BizCord Frontend is the single-page application for the BizCord platform. Built with Angular 21 (standalone component architecture), it delivers real-time messaging, voice/video channels, direct messages, and server management — all in a polished Discord-inspired UI.
Served by nginx-unprivileged (runs as non-root) on port 8080. nginx also reverse-proxies /api and /ws to the backend container, keeping the app accessible through a single origin.
achrafyoussef/bizcord-frontend:latest
| Layer | Technology |
|---|---|
| Framework | Angular 21 (standalone components) |
| UI Components | Spartan UI (Radix-style headless + Tailwind) |
| State / Data | TanStack Query (angular-query-experimental) |
| Real-time | RxStomp 2.3.0 — STOMP over WebSocket |
| Voice/Video | mediasoup-client 3.x (WebRTC SFU) |
| Styling | Tailwind CSS v4 |
| Icons | ng-icons / Lucide |
| Web server | nginxinc/nginx-unprivileged:alpine |
| Variable | Required | Default | Description |
|---|---|---|---|
BACKEND_URL | Yes | — | Internal URL of the backend container, e.g. http://bizcord-backend:8080. Used by nginx at startup to template the reverse-proxy config. |
The variable is injected at container start via
envsubstin the nginx entrypoint; it is not a build-time argument.
frontend:
image: achrafyoussef/bizcord-frontend:latest
environment:
BACKEND_URL: http://bizcord-backend:8080
ports:
- "8080:8080"
depends_on:
- backend
The container serves the Angular SPA and proxies API/WebSocket traffic on port 8080.
| Path | Destination |
|---|---|
/ | Angular SPA (static files) |
/api/* | Proxied → BACKEND_URL |
/ws | WebSocket proxied → BACKEND_URL (STOMP) |
/uploads/* | Proxied → BACKEND_URL (file uploads) |
Content type
Image
Digest
sha256:f9c8d182c…
Size
22.7 MB
Last updated
6 months ago
docker pull achrafyoussef/bizcord-frontend