CRUDBase class issues
Your current CRUDBase version might have a few inconsistencies I eventually fixed in FastCRUD, plus a few other bugs before that.
You should probably take a look at the FastCRUD changelog and the bug fixes before FastAPI-boilerplate 0.11.0. You could, of course, also look the actual FastCRUD class source code to find the changes or just use FastCRUD.
Plus, if you need anything, you may contact me. Keep rocking!
Your current CRUDBase version might have a few inconsistencies I eventually fixed in FastCRUD, plus a few other bugs before that.
You should probably take a look at the FastCRUD changelog and the bug fixes before FastAPI-boilerplate 0.11.0. You could, of course, also look the actual FastCRUD class source code to find the changes or just use FastCRUD.
Thank you very much for your feedback, @igorbenav ! I had already been considering the use of FastCRUD; I've been following its development, and it's really impressive.
I'm using this boilerplate in production to accumulate some experiences and insights. As soon as possible, I'll make the adjustment/correction you mentioned and some other improvements.
Hello @igorbenav,
First, thank you for your feedback and the chance to share details about my project's evolution.
Boilerplate context:
I used your FastAPI-boilerplate as a reference about a year ago, adapting it to use SQLModel (inspired by fastapi-alembic-sqlmodel-async) instead of SQLAlchemy. Today, the repository is 264 commits ahead of the original template and has been in constant production use.
Technical choices:
- Dependency minimalism: I prefer keeping
pyproject.tomllean, ensuring every external library is essential. At the time, fastcrud didn’t exist, so I implemented ORM (SQLModel) functionalities directly. - Feature-based structure: Inspired by Django’s apps system, I organize each module with its own
crud.py, even for complex queries (joins, aggregations, subqueries). This simplifies IDE navigation (ctrl+click 😅) and control over specific business rules.
Admiration for your work:
I follow projects like clientai, fastsecure, and crudadmin with great interest—your approach to OOP and API design is inspiring!
Next steps:
I’ll carefully review this issue’s suggestions and explore integrating concepts from FastCRUD (in fastcrud) into my project’s CRUDBase class, ensuring compatibility with the current codebase.
Once again, thank you for your immense contributions to the open-source community. Your work is a reference for many, including me! 🚀
Hey, @joaoflaviosantos, thank you so much for the kind words!
Makes total sense. I actually even prefer feature-based for monoliths, but my original boilerplate was more of a microservices type. I opened this issue when I launched FastCRUD simply because with FastCRUD I solved a bunch of bugs of my original CRUDBase, but it's been a year, so you definitely fixed what wasn't working!
Keep rocking 🎉