Choosing technologies for full stack project

Hello, I want to start a small full stack project and I need a bit help to choose good technologies.

It is mostly logging and showing sensor data and run some automations based in the sensor data.

My current decisions are:
Axum for the backend
Yew for frontend
Tauri for desktop
Sqlx for relational databases
Alternatively or additionally SurrealDB
Maybe CeresDB for time series database

I need to log a lot of sensor data and it might be the best solution to use a time series database.

Also I need something like Grafana to visualize the data.

I want something like tauri because I also want a mobile app and an app for desktop (Linux, Windows...)

Any better recommendations?

I forgot to mention two things:

  1. I also need a Mqtt broker because the sensors use Mqtt
  2. Te server should run an a SBC like Raspberry Pi 4 or Odroid N2
1 Like

Tauri currently does not support mobile apps. Support for mobile apps will be added in Tauri v2 which does not have a set time-table, but is currently expected to be released early in 2024.

Any suggestion? Wait for V2? Or any alternative?

I want to have an app rather than a web app because I want to be able to access information from the smartphone you usually don't have from a browser.

Mobile app has no priority, so I can wait for that. First priority is the web frontend.

You can use a WebView to display the content of your web app and make it look as if it was a native app.

These two statements contradict each other. Is your priority native or web? Either way, more mature technologies for cross-platform development would be something like React or Flutter. I don't know any Rust libraries for cross-platform development (besides Tauri), but you could check out https://areweguiyet.com/ for an overview of what's available.

I'm sorry to confuse you. That was my bad English.

What I mean: I want both, native mobile app and web app. But I want to focus on the web app first. Mobile app has a lower priority.

Maybe leptos could be an interesting option for you. As I understand, it is in a relatively early state of development, though.

Do I understand this correctly? Leptos replaces Axum and Yew?

Note that yew also supports server-side rendering.

This is also my understanding. I have no working experience though.