I’m a 1st year student and I’ve recently been trying to build a backend framework(vantus) in Rust.
To be completely honest, I don’t have strong coding experience yet, and I’m still learning the basics of backend development. Most of this project has been built with the help of AI, along with my own effort to understand what’s going on.
I know this isn’t the usual way people approach systems programming or framework design, so I’d really appreciate it if you could take a look and share your feedback.
I guess it depends a lot on what you are trying to learn:
if you're looking to learn how to get AI to create a backend framework. The real question is: does it do what you wanted? Have you taken it for a test drive and whatever the black-box does is fine? If so, I'd say that's a huge achievement. I don't think I would feel confident getting something so complete from an AI.
if you're looking for something that is a good example for you to study and use to learn rust by reading and understanding - I don't think it's that good. Very little is documented, there are no examples and the tests don't look like valuable insights into how the code is intended to be used. That makes it hard to read and already gives 3 good-practices that are missing.
if you're looking for something that gives an overview of what a "backend framework" should include it looks like it hits all the right buzzwords, with logging, error handling, conversions, etc. Although I probably wouldn't have ended up at that structure if I'd been building it from the ground-up as I prefer to group my code by domain (a usage or a thing with its implementation, logging & errors in one place) rather than technical function ("all the logging is here")
finally if you are looking to learn rust and be able to create and explain all the details yourself one day I would very strongly suggest that building something bit by bit, from scratch is the best way to do that:
Start with a single test or example of how you want invoke your code to do something useful, codify that,
then write enough code to make it happen
then try to make your code feel nice/look pretty/have a sweet API WITHOUT making it any more generic or complicated.
Think of the next thing it should be able to do and repeat until it's time for beer. (Then get beer and try not to spill it on your keyboard as you continue coding and grinning each time all the tests go green)