tuono_lib_macros

Crates.iotuono_lib_macros
lib.rstuono_lib_macros
version0.2.3
sourcesrc
created_at2024-05-25 10:19:18.303709
updated_at2024-06-25 16:54:06.080757
descriptionThe react/rust fullstack framework
homepage
repositoryhttps://github.com/Valerioageno/tuono
max_upload_size
id1251886
size7,326
Valerio Ageno (Valerioageno)

documentation

README

Tuono
The react/rust fullstack framework

โš ๏ธ This project is under heavy development. API might drastically change โš ๏ธ



Tuono (Italian word for "thunder", pronounced /2 Oh No/). Why Tuono? Just a badass name.

Check out the tutorial to get started.

Introduction

NodeJs/Deno/Bun are the only runtimes that allow a React app to be fullstack right? (no)

Tuono is a fullstack React framework with the server side written in Rust. Because of this Tuono is extremely fast and the requests are handled by multithreaded Rust server. React is still React - it is just superpowered.

Rust is an hard language then writing server side code is hard as well right? (no again)

Tuono provides a collection of utilities to handle the server side code seamlessly with the React code. Each server side route is managed with a separate file alongside the React route. The routing is handled by Tuono based on the files defined within the ./src/routes directory.

Features

  • ๐ŸŸฆ Typescript
  • ๐ŸŒ Routing
  • ๐Ÿ”ฅ Hot Module Reload
  • ๐Ÿญ CSS modules
  • ๐Ÿงฌ Server Side Rendering
  • ๐Ÿงต Multi thread backend
  • โš™๏ธ Build optimizations
  • Custom APIs*
  • Image optimization*
  • Server streamed content*

*Development in progress

Getting started

As already mentioned above I strongly suggest you to take a look at the tutorial.

Tuono is basically a CLI that provides all the commands to handle the fullstack project. To download it you need cargo which is the rust package manager.

To download and install it you just need to run cargo install tuono.

To create a new project run tuono new [NAME] (optionally you can pass the --template flag - check the examples folder).

Then to run the local development environment run inside the project folder tuono dev

Finally when the project will be ready to be deployed just run tuono build to create the final React assets and to set the server project to the production mode.

Now to execute it just run cargo run --release.

Requirements

  • rust
  • cargo
  • node
  • npm/pnpm/yarn*

yarn pnp is not supported yet

Folder structure

โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ public
โ”œโ”€โ”€ src
โ”‚   โ”œโ”€โ”€ routes
โ”‚   โ””โ”€โ”€ styles
โ”œโ”€โ”€ Cargo.toml
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ tsconfig.json

Contributing

Any help or suggestion will be appreciated and encouraged.

License

This project is licensed under the MIT License.

Commit count: 163

cargo fmt