Hey everyone! I'm looking for advice on how to effectively structure a programming project. Is there a standard method or just your personal approach? I primarily work with Python and frameworks like FastAPI, so any tailored tips for that would be great. Thanks in advance!
3 Answers
It sounds like you’re after a clearer picture of your project. Can you share some details about what you’re building? For instance, will there be a database involved, and what kind of operations will your API be performing? Understanding that will help frame your structure better.
Start simple! Create folders for routes, services, models, and tests. Keeping these elements separated will help you avoid confusion later on. FastAPI really benefits from a tidy setup, so think about your structure from the outset.
Oh man, software architecture can be a rabbit hole! If you're just starting, I wouldn’t dive into complex concepts like Domain Driven Design yet—they can be daunting for beginners. A good foundation is understanding the SOLID principles and how to apply them in Python. I recommend looking into the Onion Architecture for organizing your app. You might also find the Clean Architecture approach or even a Modulithic setup useful. It’s all about keeping your code manageable and avoiding a 'big ball of mud'. Invest some time in reading up on these concepts; it'll pay off!
I found some great online courses that really break it down. If you search for Clean Architecture tutorials, there are plenty of practical examples that can help!

Thanks for the suggestions! Do you have any specific resources or books you recommend for getting started with Clean Architecture?