#Nova-boot – framework for Rust (like Spring Boot for Axum)

48 messages · Page 1 of 1 (latest)

half wedge
#

Hey everyone! I just published Nova-boot, a batteries-included microservice framework for Rust that sits on top of Axum. It's basically Spring Boot for Rust.

What's included (v0.1.0):

  • Plugin system with NovaApp
  • SQL (SeaORM + pooling + read/write splitting + multi-tenancy + caching)
  • NoSQL (MongoDB, Redis), GraphDB (Neo4j, SurrealDB)
  • Messaging (Kafka, RabbitMQ, NATS + dead letter queue)
  • Circuit breaker, retry, rate limiting, bulkhead (with Redis Lua scripts)
  • CQRS, Event Sourcing, Sagas
  • Semantic extractors: NovaDb, NovaBus etc.
  • Observability (tracing, metrics, OpenAPI)
  • Optional TLS via run_tls

Try it:

cargo add nova-boot nova-boot-sql

Repo: https://github.com/nova-boot-rs/nova
Docs: https://docs.rs/nova-boot
All crates published as nova-boot-*.

Happy to answer questions! 🙌

grave oak
half wedge
#

@grave oak
Yeah, I used AI tools. They helped me speed up work and save time. I’d be lying if I said I didn’t use them. But I still handled the implementation, debugging, and final decisions myself.

gentle wharf
half wedge
half wedge
#

I think there is misunderstanding here It is open to everybody so if use see it a useful framework please try it and send any issue you got while you are running your app.

I am here to developing something will benefit the people who use rust not on the opposite side.

quiet zenith
#

2x QUICK START
2x description (2 lines)
2x license
2x build with ❤️

half wedge
quiet zenith
#

Im not talking about tests, CI and integration (also e2e tests?) are « enough » for an dev project like yours

#

Thing is if you provide a library that has to works as described without subtle bugs/undefined or un docimented behaviour the library will not be usable and even less for critical needs

#

So atleast reviewîng the code is a must in my opinion

#

And seeing the size of the project with only 100 commits in a short time, it does not seems that you did it

half wedge
#

How told you I am not reviewing the code?
Did you check or test the code and got a bug? Like what you are mentioned?

Or just .....

If I am not who did then whom?

#

Anyway I will continue with what I am planning

quiet zenith
#

Chill man im not assaulting you

quiet zenith
#

Some are blinds and some introduce errors (especially on readme and docs) that if you looked at the code, been catched

quiet zenith
grave oak
#

what is the advantage to this over just using the crates it uses?

half wedge
half wedge
# grave oak what is the advantage to this over just using the crates it uses?

The main idea for the framework to work like spring boot and flask

#[get(path)] same goes to post, delete and put
Will inject your handler function to server without adding to main function same as the original way in axum

On the sql i add function that migrate any changes to the model/entity you have add so it is create the table or add the new column you have add

half wedge
quiet zenith
#

A small specialized library is often more useful than a large general one

#

If you made something more niche, it would be more surely more useful because it could solve a real problem

#

Since the AI isnt a programmer in any sense, it can’t design something that solves a dev problem

half wedge
# quiet zenith Since the AI isnt a programmer in any sense, it can’t design something that solv...
DEV Community

In the world of software development, backend engineers often find themselves switching between...

quiet zenith
#

Im not a backend dev, but why are you comparing JS ecosystem with rust’s one?

#

Also why do you point an AI article as a « ressearch »

half wedge
half wedge
#

And what I am trying to adopt it spring boot from Java not JavaScript

quiet zenith
#

Do you consider that rust and java has a totally different way of coding?

half wedge
#

I am inject the database into the app as plugins so the users can use it from the app layer

half wedge
# quiet zenith But why?

In modern development the time we spend to develop the app is most important.

And that what I am working on it.

The user doesn't have to set everything form scratch.

quiet zenith
#

Paradigms are different, tooling etc

quiet zenith
half wedge
half wedge
quiet zenith
half wedge
#

I explained my point. Spring boot framework have all features that the developer need in one place. Connecting db, auth, api gatway, ....

Why we shouldn't have the same in rust?

Yes there is many crates there to be used but you should customise it to suit your uses.

Axum, rocket .... Great backend framework rust have. But still the developers from other languages won't come to use them like that.

quiet zenith
#

But youve said (readme) that it is a lightweight framework, where others rust crates did not do fully integrated like spring surely because of that