Skip to content

jaw-sh/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

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •