In one of my academic projects, I worked on a library management system where I applied object-oriented programming principles, specifically inheritance and encapsulation. I created a base class called "LibraryItem" that included common attributes like title, author, and publication year. Then, I derived subclasses such as "Book" and "Magazine" from the base class, each with additional specific attributes. This use of inheritance helped in reusing code and maintaining a clean structure. Encapsulation was implemented by keeping the attributes private and providing public methods to access and modify them, ensuring data integrity and security. This approach not only streamlined the development process but also made the system more scalable and easy to maintain.