Skip to content

irregularchat/chat-based-community-dashboard

 
 

Repository files navigation

Chat-Based Community Dashboard

A simple, powerful tool to help community builders manage their members across Signal, Matrix, and other platforms - no technical expertise required.

See forum post about this project for more information.

🎯 Why This Matters for Your Community

Are you a community organizer struggling with:

  • Managing member accounts across different platforms?
  • Onboarding new members efficiently?
  • Keeping track of who has access to what?
  • Bridging conversations between Signal, Matrix, and other chat platforms?

This dashboard solves these problems by giving you a simple web interface to:

  • ✅ Create and manage user accounts in one place
  • ✅ Send automated welcome messages and invitations
  • ✅ Bridge chats between Signal, Matrix, and other platforms
  • ✅ Track member activity and permissions
  • ✅ Handle password resets and account issues quickly

🚀 Perfect for Communities That Want To

  • Start with Signal (since most people already have it) and expand to other platforms
  • Self-host their community tools instead of relying on big tech
  • Give members choice in how they participate (Signal, Matrix, email, etc.)
  • Scale efficiently without drowning in administrative tasks

✨ What You Get

For Community Builders

  • Web dashboard - No command line needed, just point and click
  • Member management - Create accounts, reset passwords, manage permissions
  • Cross-platform bridging - Connect Signal groups with Matrix rooms
  • Automated onboarding - Send welcome messages and invites automatically
  • Moderation tools - Manage moderators and handle conflicts efficiently

For Developers (Entry to Mid-Level)

  • Python/Streamlit - Easy to understand and modify
  • Docker setup - Get running in minutes
  • Clear codebase - Well-organized with tests
  • API integrations - Authentik, Matrix, Signal bots
  • Database management - PostgreSQL with migrations

🏃‍♀️ Quick Start (5 Minutes)

Option 1: I Just Want to Try It (Easiest)

# Clone and run with SQLite (no database setup needed)
git clone https://github.com/irregularchat/chat-based-community-dashboard.git
cd chat-based-community-dashboard
cp .env-template .env
# Edit .env with your API tokens (see setup guide below)
./run_sqlite.sh

Open http://localhost:8501 in your browser!

Option 2: Full Setup with Docker

# Clone the repository
git clone https://github.com/irregularchat/chat-based-community-dashboard.git
cd chat-based-community-dashboard

# Setup environment
cp .env-template .env
nano .env  # Add your API tokens (see setup guide below)

# Run with Docker
docker-compose up -d --build

Open http://localhost:8501 in your browser!

🔧 Setup Guide

Getting Your API Tokens

Authentik API Token (Required for user management):

  1. Go to your Authentik admin panel: https://your-sso-domain.com/if/admin/
  2. Navigate to System → Tokens
  3. Create a new token with appropriate permissions
  4. Copy the token to your .env file

Matrix Integration (Optional, for bridging):

  • Add your Matrix homeserver URL and access token to .env
  • See our Matrix Setup Guide for details

Environment Configuration

Edit your .env file:

# Required: Authentik integration
AUTHENTIK_API_TOKEN=your_api_token_here
AUTHENTIK_BASE_URL=https://your-sso-domain.com

# Optional: Matrix integration
MATRIX_HOMESERVER=https://matrix.your-domain.com
MATRIX_ACCESS_TOKEN=your_matrix_token

# Database (auto-configured for Docker)
DATABASE_URL=postgresql://user:pass@db:5432/dashboard

📖 How to Use

For Community Organizers

  1. Access the dashboard at http://localhost:8501
  2. Create user accounts - Fill in member details, system generates secure passwords
  3. Send invitations - Automated emails with login instructions
  4. Manage permissions - Add/remove moderators, manage group access
  5. Bridge platforms - Connect your Signal groups with Matrix rooms

For Developers

  • Main app: app/main.py - Streamlit interface
  • Database models: app/db/ - SQLAlchemy models
  • API integrations: app/utils/ - Authentik, Matrix APIs
  • Tests: tests/ - Pytest test suite
  • UI components: app/ui/ - Reusable Streamlit components

🛣️ What's Coming Next

See our detailed roadmap for the full picture. Key highlights:

🔥 Coming Soon (Next 2-4 weeks)

  • Enhanced user list with bulk actions
  • Direct email messaging to users
  • Admin audit logging

🚀 This Quarter

  • Signal bot integration for automated announcements
  • Conflict resolution room creation
  • Advanced Matrix room management

🌟 Future Vision

  • Support for more identity providers (Keycloak, etc.)
  • Mobile-friendly interface
  • Advanced analytics and reporting

🤝 How to Contribute

New to open source? Perfect! This project is designed to be beginner-friendly.

🕐 Got 15 minutes?

  • Report bugs or suggest features in Issues
  • Improve documentation (fix typos, clarify instructions)
  • Test the setup process and report any problems

🕐 Got 1-2 hours?

  • Pick up a "good first issue" from our issue tracker
  • Add tests for existing features
  • Improve error messages and user experience

🕐 Got more time?

  • Implement features from our roadmap
  • Add new integrations (Discord, Slack, etc.)
  • Improve the UI/UX design

See our Contributing Guide for detailed instructions.

🏗️ Technical Details

Built with:

  • Frontend: Streamlit (Python web framework)
  • Backend: SQLAlchemy + PostgreSQL/SQLite
  • Integrations: Authentik API, Matrix API, Email (SMTP)
  • Deployment: Docker + Docker Compose

System Requirements:

  • Python 3.8+
  • Docker (recommended) or PostgreSQL
  • 512MB RAM minimum, 1GB recommended

📞 Getting Help

  • Community Forum: forum.irregularchat.com
  • GitHub Issues: For bugs and feature requests
  • Documentation: Check the docs/ folder for detailed guides

📄 License

This project is open source. See LICENSE for details.


Ready to transform your community management? Get started in 5 minutes or join our community to learn more!

About

Dashboard for chat-based communities such as large and growing signal and discord chats requiring validation and management of users.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.0%
  • CSS 1.1%
  • Other 0.9%