Expand description
🌈 Rainbeam!
🌈 Rainbeam
Rainbeam is a simple Q&A social network designed for community! On Rainbeam, users can create and customize their profile to look how they want, and then other users can ask them questions using their account or an anonymous username. Users receive questions in their inbox and can then answer them or manage them. Users can also ask “global questions” which everybody who is following them can see in a specialized timeline. Global questions can be answered by any logged-in user. Users can also respond to existing responses with comments to further interact with their friends’ responses!
§Usage
To start, clone the Rainbeam repository and build it:
git clone https://github.com/swmff/rainbeam
cd rainbeam
just build sqlite
Instead of “sqlite”, you can also use “mysql“ or “postgres” for MySQL/MariaDB and PostgreSQL respectively!
§hCaptcha
Rainbeam requires hCaptcha to secure logins and registers. You can provide your h-captcha configuration in ~/.config/xsu-apps/rainbeam/config.toml
:
# ...
[captcha]
site_key = "..."
secret = "..."
You can sign up for an hCaptcha account at https://www.hcaptcha.com/!
§Static assets
For Rainbeam to properly serve static assets, you must link the static
directory to ~/.config/xsu-apps/rainbeam/static
:
ln -s /path/to/rainbeam/crates/rainbeam/static ~/.config/xsu-apps/rainbeam/static
You can provide a Markdown file for /site/about
by creating static/site/about.md
. This file can be used to provide information about your specific instance!
§Moderation
After you have created your first account, you’ll need to manually create a permissions group in the database so that you can mark the account as a Manager
. The manager permission allows you to delete accounts, responses, comments, and questions. You can also view profile warnings and reports with this permission. You can view an example SQL query to do this here!
You can add additional moderators with the Helper
role. They can also be given Manager
, however Helper
is much better if you want them to have limited moderation abilities.
§Account registration
To open your instance up for free account registration, you’ll need to set registration_enabled
to true
in ~/.config/xsu-apps/rainbeam/config.toml
.
§PWA
You are responsible for adding your own manifest.json
file in the static/
directory.
You can place your PWA logo images in static/images/logo/
. This directory is ignored by git.
§Contributing
You can view information about contributing to Rainbeam here, as well as the contributor code of conduct here!
You can view security information here.
§Attribution
Rainbeam is a faithful recreation of the amazing Q&A site Retrospring. Rainbeam uses many Retrospring’s core concepts, ideas, and designs, however it is built from the ground up and uses none of Retrospring’s original code or assets.
Rainbeam uses Twemoji on its HTML pages for uniform emojis.
Modules§
Functions§
- Main server process