Welcome to my Python OOP Mini Projects repository. This collection of terminal-based applications demonstrates my progression in understanding and applying Object-Oriented Programming principles, file operations, and fundamental software design in Python.
This repository is organized into distinct modules, starting from basic concepts and scaling up to more complex, data-persistent systems:
A collection of introductory scripts focusing on the core pillars of OOP.
- Topics Covered: Abstraction, Encapsulation, Inheritance, Polymorphism, and State Management.
- Key Files:
oop.py,inheritance_example.py,first_app.py,islemler.py.
A dynamic billing and inventory management system for renting cars and bikes.
- Topics Covered: Class Inheritance, Method Overriding,
datetimemodule integration, and dynamic pricing algorithms (including discount promotions).
A role-based inventory system demonstrating the transition from in-memory data storage to persistent data handling.
- Topics Covered: User Authentication, Role-Based Access Control (Staff vs. Customer), Data Persistence using JSON (
jsonlibrary), and Exception Handling (try-except).
A comprehensive management tool for school records, differentiating actions based on user roles (Admin, Teacher, Student).
- Topics Covered: Advanced File I/O (reading, writing, and appending standard
.txtfiles), Data Parsing, and robust Error Handling.
- Language: Python 3.x
- Core Skills: * Designing scalable class hierarchies.
- Ensuring data integrity through Encapsulation.
- Managing state and persistent data across sessions (File I/O, JSON).
- Building interactive, terminal-based user interfaces.
To explore these projects locally:
-
Clone the repository:
git clone [https://github.com/kadir465/Python-OOP-Mini-Projects.git](https://github.com/kadir465/Python-OOP-Mini-Projects.git)
-
Navigate into the specific project directory you want to run. For example: cd Python-OOP-Mini-Projects/Arac_Kiralama_Sistemi
-
Run the Python scripts as detailed in each specific directory's README.md file.
Author Erdem Yücel Computer Science Student | Software Developer GitHub: @kadir465