Skip to content

Latest commit

 

History

History
62 lines (48 loc) · 2.39 KB

File metadata and controls

62 lines (48 loc) · 2.39 KB

Gratonite API

Project Status Docs

Backend API for Gratonite — a privacy-first, open-source alternative to Discord.

What This Covers

  • 109 database schemas with Drizzle ORM + PostgreSQL
  • 91 API route modules on Express + TypeScript
  • Real-time messaging via Socket.IO
  • Voice/video via LiveKit integration
  • End-to-end encryption key exchange (ECDH P-256 + AES-GCM-256)
  • Instance federation with Ed25519 HTTP Signatures
  • Guild management, roles, permissions, channels, threads
  • DMs, group DMs, friend system, blocking
  • Moderation: automod, word filters, timeouts, temp bans, ban appeals, raid protection
  • Gamification: XP, leveling, FAME system, achievements, leaderboards
  • Economy: virtual currency, cosmetics shop, marketplace, auctions
  • OAuth2 authorization flow, webhooks, bot framework, slash commands
  • Stripe payments, referrals
  • GDPR data export, account deletion
  • Scheduled messages, drafts, bookmarks, global search
  • Web push notifications, email notifications

Tech Stack

Component Technology
Runtime Node.js 22, TypeScript
Framework Express 5
Database PostgreSQL 16, Drizzle ORM
Cache Redis 7
Realtime Socket.IO
Voice LiveKit
Auth JWT (access + refresh), Argon2id password hashing, TOTP MFA
Security Helmet.js, Zod validation, rate limiting, CORS, HTTP Signatures
Metrics Prometheus
Email Nodemailer

Docker Image

docker pull ghcr.io/coodayea/gratonite-api:latest

Canonical Source of Truth

All source code lives in the main monorepo:

If anything in this repo conflicts with the main repo, the main repo is authoritative.

Related Repositories