Skip to content
forked from jaw-sh/ruforo

fork for learning/testing ruforo.

Notifications You must be signed in to change notification settings

LetBoozy/ruforo

 
 

Repository files navigation

Unnamed Web Forum Project

(Formerly ruforo, formerly Sneedforo, formerly Chuckforo, formerly XenForo)

PROJECT_NAME is a traditional web forum built in Rust.

Stack

  • Rust
    • Actix-Web
    • Askama for templating
    • SeaQL (sqlx) for ORM
  • Postgres
  • S3
  • NPM
    • SWC for asset compilation
    • SCSS for stylesheets
    • Vanilla JS

Aspirations

  • Minimal bloat.
  • No-JS, Tor compatability.
  • Unit tested.
  • Event driven WebSocket subscriptions.
  • Total replacement for XenForo.

Environment

  • Example .env file
    • NOTE: AWS variables will likely be migrated to DB
  • PostgreSQL
    • Required. Database agnosticism not planned.
  • S3 Storage
    • Any S3-compatible storage API for attachments.
    • Suggested to use MinIO (FOSS + Self-Hosted)
  • node and webpack
    • Install npm.
    • Run npm install from the root directory to install node dependencies.
    • Run npx webpack from the root directory to deploy browser-friendly resource files.
    • webpack will be replaced with SWC when SASS compilation is available.

WebM Validation Notes

Contributions

Code Guidelines

  • We use rustfmt.
  • cargo clippy whenever possible.
  • Try to eliminate warnings.

Database Guidelines

  • Any data which would apply to two types of content (i.e. posts, chat messages, profile posts) should interact with the ugc tables, not individual content type tables.
  • Usernames should be referenced by user_id,created_at DESC from user_name. User rows can be deleted, but a historical reference for their name will be added to this table. This complies with GDPR software requirements.

About

fork for learning/testing ruforo.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 82.2%
  • JavaScript 7.2%
  • HTML 6.0%
  • SCSS 4.4%
  • Shell 0.2%