#waves #ruby #generate #website #would #name #model-view-controller

rustonwaves

Reserved name for Rust on Waves: tool to generate websites like Ruby on Rails, but in Rust. It would be a binary to generate Rust files, not a dependency.

1 unstable release

0.0.0 Mar 28, 2022

#4 in #mvc

MIT/Apache

2KB

Rust on Waves – draft template project

What will™ Rust on Waves be

The goal of Rust on Waves is to provide an executable tool for web developers, to help creating a website implementing an MVC model in Rust, like what Ruby on Rails does using Ruby. The executable will be able to generate a working blank project with a good security level by default, and then to generate new MVC resources.

For now it would just be about creating new files, not modifying existing files, but it could change in the future (maybe inspiration from rust-analyzer would be useful in this case).

The documentation will be put into the Wiki.

This repository is not a Rust project to build the executable, it is a draft website to design the architecture that will be generated by Rust on Waves. The original architecture is inspired by several tutorials about using Actix (there is also original content):

Rust on Waves will likely never be a library.

Rust on Waves will not be a re-implementation of Ruby on Rails, it will not generate the exact same architecture. By the way there are no links between me and people working on Ruby on Rails.

Rust on Waves will not be a tool needed by all the developers of a team working on a project generated by Rust on Waves. RoW is just a way to fasten the early stages of development.

Why this name?

Ruby on Rails = [language] on [something you can move on]

Rust's language theme seems to be the ocean (cargo, crates, the mascot is a crab, etc.) and Waves sounds a little be like Rails (at least for a non-English-speaking person as I am), hence the name.

The same way, the abbreviation is RoW.

What can be done now?

  1. Discuss about the design: I am really far from being a web developer so your opinion about the design would be really appreciated.
  2. Add CSRF protection in the template (needed before release of v1).
  3. Add useful unit tests (or at least templates for unit testing).
  4. Integrate the front-end in the architecture (I am 100% unable to do this).

My personal TODO list

  1. Continue to fill the Wiki with a documentation about the current architecture, explaining choices.
  2. Fill the Wiki with the requirements between the release of the first versions of the project.
  3. Fill the Wiki with a design of the future user manual.

No runtime deps