2024-05-12 21:52:04 +02:00
|
|
|
<p align="center">
|
2024-06-03 20:59:39 +02:00
|
|
|
<img src="https://raw.githubusercontent.com/Valerioageno/tuono/main/assets/logo.png" width="200px">
|
2024-05-12 21:52:04 +02:00
|
|
|
</p>
|
|
|
|
|
<h1 align="center">Tuono<br>The react/rust fullstack framework</h1>
|
2024-05-18 11:50:56 +02:00
|
|
|
<p align="center">
|
|
|
|
|
⚠️ This project is under heavy development. API might drastically change ⚠️
|
|
|
|
|
</p>
|
|
|
|
|
|
2024-05-02 20:49:46 +02:00
|
|
|
|
|
|
|
|
Tuono (Italian word for "thunder", pronounced /2 Oh No/).
|
|
|
|
|
Why Tuono? Just a badass name.
|
2024-04-27 10:10:50 +02:00
|
|
|
|
2024-05-18 11:50:56 +02:00
|
|
|
## Installation
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
cargo install tuono
|
|
|
|
|
```
|
|
|
|
|
|
2024-05-18 20:45:35 +02:00
|
|
|
## Create a new project
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
tuono new
|
|
|
|
|
```
|
|
|
|
|
|
2024-05-18 11:50:56 +02:00
|
|
|
## Development
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
tuono dev
|
|
|
|
|
```
|
2024-04-27 10:10:50 +02:00
|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
- Rust based server side rendering
|
|
|
|
|
- FS routing
|
|
|
|
|
- CSS modules
|
2024-05-18 11:50:56 +02:00
|
|
|
- Hot Module Reload
|
|
|
|
|
- Multi thread backend
|
2024-04-27 10:10:50 +02:00
|
|
|
|
|
|
|
|
## Folder structure
|
|
|
|
|
|
|
|
|
|
```
|
2024-05-02 18:35:30 +02:00
|
|
|
- .tuono
|
2024-04-27 10:10:50 +02:00
|
|
|
- public/
|
|
|
|
|
- src/
|
|
|
|
|
| - routes/
|
|
|
|
|
| | - api/
|
|
|
|
|
```
|
2024-05-11 15:08:49 +02:00
|
|
|
|
|
|
|
|
```tsx
|
|
|
|
|
// Data is passed by the loading function
|
|
|
|
|
const IndexPage = ({data, isLoading, isError}) => <h1>Index Page</h1>
|
|
|
|
|
|
|
|
|
|
export const Route = createFileRoute({
|
|
|
|
|
loader: (params) => fetchApi(params),
|
|
|
|
|
component: IndexPage
|
|
|
|
|
})
|
|
|
|
|
```
|