doc: update README.md

This commit is contained in:
Valerio Ageno
2024-06-05 21:17:26 +02:00
parent 70a6aa1a67
commit 5322fe910a
+39 -19
View File
@@ -10,6 +10,23 @@
Tuono (Italian word for "thunder", pronounced /2 Oh No/).
Why Tuono? Just a badass name.
## Introduction
NodeJs/Deno/Bun are the only tools that make a React app fullstack right? (TLDR; no)
Techically the only thing React needs to do on the backend side is to render the HTML and returns it in the response payload and for it just a JS engine is required.
Why then we need to bring the entire runtime?
Tuono wants to prove that it's possible creating fully fledged react applications without the need to host them on a JS runtime server leveraging the best of the two worlds:
super powered server and crazy cool development experience.
## Requirements
- rust
- cargo
- node
- pnpm (other package managers support will be added soon)
## Installation
```
@@ -19,7 +36,7 @@ cargo install tuono
## Create a new project
```
tuono new
tuono new [NAME]
```
## Development
@@ -27,30 +44,33 @@ tuono new
```
tuono dev
```
## Features
- Rust based server side rendering
- FS routing
- CSS modules
- Hot Module Reload
- Multi thread backend
- [x] FS routing
- [x] Hot Module Reload
- [x] CSS/SCSS modules
- [x] Rust based server side rendering
- [x] Multi thread backend
- [x] Development environment
- [ ] Create custom APIs
- [ ] Image optimization
- [ ] Build optimization
> 💡 Any suggestion or improvement is strongly appreciated
## Folder structure
```
- .tuono
- public/
| public/
- src/
| - routes/
| | - api/
| routes/
| styles/
| package.json
| Cargo.toml
| .gitignore
| tsconfig.json
```
```tsx
// Data is passed by the loading function
const IndexPage = ({data, isLoading, isError}) => <h1>Index Page</h1>
## License
export const Route = createFileRoute({
loader: (params) => fetchApi(params),
component: IndexPage
})
```
This project is licensed under the MIT License.