Practitionist / Practitionist/elluminar_web
Community chat: Stream Chat integration (free ≤1k MAU) with moderation + cost tripwire
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 17h 2m
- Merged PRs (30d)
- 18
Description
Adds real-time channels alongside in-house discussions (kept as archive). Stream Chat free ≤1,000 MAU / 100 concurrent; paid cliff $399/mo at 1K MAU.
- src/lib/stream/chat.ts token minting (role mapping, entitled learners only)
- /learn/community channels: per-course + platform-wide; discussions preserved as archive tab
- Moderation: Stream moderation config; admin/moderator roles; flags → IntegrityFlag(MESSAGE) → /admin moderation
- DPDP: Mumbai data region request, retention policy, device-token cleanup on sign-out
- Nightly MAU tripwire alert before billing cliff
Spec: temp prompt library 05-chat-community.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the temp prompt library 05-chat-community spec, then inspect src/lib/stream/chat.ts and the /learn/community and /admin moderation entry points. Done means channels, role-based token minting, moderation flags, DPDP requirements, device-token cleanup, and the nightly MAU billing alert all work together while preserving discussions as an archive tab.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- authentication, authorization, full-stack, observability, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100