A complete beginner β advanced β project-level Python OOP learning journey.
This repository is designed to help you learn OOP like a software engineer, not just theory β but with real coding, projects, and system design thinking.
π‘ What is this repository?
This is a structured 30-day Python OOP roadmap that takes you from:
- Basic class & object concepts
- To advanced OOP principles (SOLID, design patterns)
- To real-world system design
- To mini backend-style projects
Each day contains:
- Simple explanation
- Code examples
- Practice ideas
- Real-world thinking
Most learners stop at theory.
This repo focuses on:
β Real-world OOP thinking
β Clean architecture mindset
β Backend-style system design
β Practical coding skills
β Interview-ready knowledge
- What is OOP & why it matters
- Class vs Object
- Creating classes and objects
- Attributes basics
__init__()constructorselfkeyword- Instance methods
- Multiple objects
- Instance vs Class variables
- Default values
- Dynamic attributes
__str__()and__repr__()
- Public / Protected / Private
- Getter & Setter
- Property usage
- Single & multilevel inheritance
super()keyword- Code reuse
- Multiple inheritance
- Method Resolution Order (MRO)
- Diamond problem
- Method overriding
- Duck typing
- Runtime behavior
- Abstract classes
abcmodule- Interface-style design
__str__,__repr__- Operator overloading basics
- Custom operators
- Real-world examples
- "is-a" vs "has-a"
- Composition design pattern
- Association
- Aggregation
- Composition
@classmethod@staticmethod- Factory methods
- Method decorators
@property,@setter
@dataclass- Auto methods generation
__slots__- Performance improvement
- Custom exceptions
- Safe class design
__iter__()__next__()
- Lazy evaluation
- Performance benefits
type()- Custom metaclass basics
- DRY
- KISS
- SOLID (intro)
- Singleton
- Factory
- Strategy
- Folder structure
- Modules & packages
- Clean architecture
- Unit testing mindset
- Dependency injection basics
- Encapsulation
- Inheritance
- Real-world simulation
- Composition
- Polymorphism
- Product system design
- File handling
- OOP + persistence
- CLI app design
- Refactoring techniques
- Clean code principles
- Better architecture
- Backend thinking
- E-commerce architecture
- Service layer design
- Full revision
- Final mini system
- GitHub-ready project
β Python OOP from scratch
β Real-world backend thinking
β Clean architecture principles
β Design patterns basics
β System design fundamentals
β Mini project building skills
β Code refactoring mindset
After completing this repo, you will be able to:
β Build backend systems using OOP
β Design scalable applications
β Understand software architecture
β Write clean, professional Python code
β Prepare for interviews & real jobs
This project is licensed under the MIT License. See the LICENSE file for details.
π Secondary School Certificate (SSC) from Shah Helal High School
π Diploma in Computer Science and Technology from Moulvibazar Polytechnic Institute (MPI)
π BSc in Computer Science & Engineering (CSE) (Ongoing) at Sylhet International University (SIU)
π§ Email: monjurmbm404@gmail.com
If you found this repository helpful, please consider giving it a β Star. It helps others discover the project and motivates future development.
| Platform | Link |
|---|---|
| π» GitHub | https://github.com/monjurmbm404 |
| πΌ LinkedIn | https://linkedin.com/in/monjurmbm404 |
| π§© LeetCode | https://leetcode.com/u/monjurmbm404 |
| βοΈ Codeforces | https://codeforces.com/profile/monjurmbm404 |
| π½οΈ CodeChef | https://www.codechef.com/users/monjurmbm404 |
| π VJudge | https://vjudge.net/user/monjurmbm404 |
| π Facebook | https://www.facebook.com/monjurmbm404 |
| π¦ X (Twitter) | https://x.com/monjurmbm404 |
| https://youtube.com/@monjurmbm404 | |
| βοΈ Medium | https://medium.com/@monjurmbm404 |