Web client for Gratonite — a privacy-first, open-source alternative to Discord.
- 51 frontend pages and 77 React components
- Real-time messaging with Socket.IO
- End-to-end encryption for DMs and group DMs (client-side ECDH + AES-GCM)
- Guild management, channels, threads, roles, permissions
- Voice/video channels via LiveKit
- Server discovery with federation support (browse self-hosted servers)
- Moderation tools: automod, word filters, raid protection, ban appeals
- Gamification: XP, leveling, FAME, achievements, leaderboards
- Economy: cosmetics shop, marketplace, auctions, inventory
- Creative tools: whiteboards, mood boards, photo albums, wiki channels
- Community tools: giveaways, starboard, confession boards, quests, tickets
- Theme builder, custom CSS, profile customization
- Global search, bookmarks, scheduled messages, drafts
- Web push notifications, service worker
- OAuth2 authorization flow
- GDPR data export
| Component | Technology |
|---|---|
| Framework | React 18, TypeScript |
| Build | Vite |
| Realtime | Socket.IO Client |
| Voice | LiveKit Client SDK |
| Crypto | Web Crypto API (ECDH, AES-GCM) |
| Styling | CSS Modules |
| Icons | Lucide React |
docker pull ghcr.io/coodayea/gratonite-web:latestServed by nginx in production. The Docker image contains a pre-built SPA — no build tools needed to deploy.
All source code lives in the main monorepo:
- CoodayeA/Gratonite — path:
apps/web/
If anything in this repo conflicts with the main repo, the main repo is authoritative.
- Gratonite-Labs/api — Backend API
- Gratonite-Labs/mobile — Mobile client
- Gratonite-Labs/desktop — Desktop client
- Gratonite-Labs/self-hosted — Self-hosting guide