hgzimmerman / FullstackRustDemo

Novelty website + bucket questions implementation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A novelty website/demo written entirely in Rust.

The backend uses Rocket Warp (WebServer) + Diesel (ORM). The frontend uses Yew (React/Elm-like framework).

External dependency management is handled with Nix/Nixos.

Status

  • User accounts, authentication, articles, forum system, and bucket questions game are implemented on the backend.

  • The implementation of a chat system is being finalized.

  • Bucket questions will require Websockets, so while a REST API is exposed to work with them, much of that functionality will migrate there once set up. Bucket questions just use HTTP.

  • BucketQuestions, Forums, Auth, and Some user features are implemented in the frontend.

    • The chat system, articles, user management, and password resets are not yet implemented in the frontend.
  • Development is suspended at the moment. This project currently serves as an example on how to use Rust to create an integrated webserver + webapp. Development has slowed due to a lack of interest, time, and the fact that the frontend stack suffers greatly from excessively long compiletimes, which makes it hard to work on. Note: Yew has improved greatly since this was last worked upon. Compile times are down significantly (compiling in debug is now possible). The dominating factors are now a lack of time and interest.

Alternatives

https://github.com/saschagrunert/webapp.rs This project also shows off how to make a fullstack rust app in a more succinct and organized manner, and is better positioned as a template - provided you agree with choice of actix for the backend with session tokens for authentication versus the choices of warp and JWTs used here.

Build Instructions

About

Novelty website + bucket questions implementation.

License:MIT License


Languages

Language:Rust 97.7%Language:CSS 1.4%Language:TSQL 0.5%Language:Nix 0.2%Language:PLpgSQL 0.2%Language:HTML 0.1%