Architecture looks good. I went off the deep end looking into ways to structure Axum projects. I looked into separating services and having them talk to each other with channels.<p>In the end, the best practice for engineering software is usually to keep it simple. I've had to learn that I'm too often trying to overengineer things, and I end up getting nothing done.
You can check out <a href="https://github.com/bionic-gpt/bionic-gpt">https://github.com/bionic-gpt/bionic-gpt</a><p>Basically I put db in it's own crate then crates for controller and another for pages.<p>The folders for each section of the web application.