master
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
.envfile- NOTE: AWS variables will likely be migrated to DB
- PostgreSQL
- Required. Database agnosticism not planned.
- MinIO
- Suggested. Self-hosted S3 compatible FOSS.
- node and webpack
- Install npm.
- Run
npm installfrom the root directory to install node dependencies. - Run
npx webpackfrom the root directory to deploy browser-friendly resource files. - webpack will be replaced with SWC when SASS compilation is available.
WebM Validation Notes
- https://www.webmproject.org/docs/container/
- VP8
- VP9
- AV1
- OPUS
- VORBIS
Contributions
Code Guidelines
- We use rustfmt.
cargo clippywhenever 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
ugctables, not individual content type tables. - Usernames should be referenced by
user_id,created_at DESCfromuser_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.
Description
Languages
Rust
82.3%
JavaScript
7.3%
HTML
6%
SCSS
4.4%