Skip to content

Add Library Management System - C++ project with Repository pattern, file persistence, and book/member management

Notifications You must be signed in to change notification settings

chaya295/LibraryManagementSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Library Management System

Project Overview

A comprehensive Library Management System built in C++ demonstrating advanced software engineering principles including OOP, SOLID principles, Design Patterns, and clean architecture.

Features

  • Book Management (Add, Remove, Search, Display)
  • Member Management (Register, Remove, View)
  • Borrowing System (Borrow, Return, Track)
  • File-based Data Persistence
  • Advanced Search Capabilities
  • Statistics and Reporting

Architecture

  • Repository Pattern: Abstraction layer for data access
  • Service Layer: Business logic separation
  • SOLID Principles: Single Responsibility, Open/Closed, Dependency Inversion
  • Clean Code: Modular design with clear separation of concerns

Technologies

  • C++17
  • STL (Standard Template Library)
  • File I/O for data persistence
  • CMake build system

Build Instructions

mkdir build
cd build
cmake ..
cmake --build .

Run

./LibraryManagement

Project Structure

LibraryManagementSystem/
├── include/
│   ├── Book.h
│   ├── Member.h
│   ├── IDataRepository.h
│   ├── FileRepository.h
│   └── LibraryService.h
├── src/
│   ├── Book.cpp
│   ├── Member.cpp
│   ├── LibraryService.cpp
│   └── main.cpp
├── data/
│   ├── books.txt
│   └── members.txt
└── CMakeLists.txt

Key Concepts Demonstrated

  1. Object-Oriented Programming: Encapsulation, Inheritance, Polymorphism
  2. Design Patterns: Repository Pattern, Service Layer Pattern
  3. SOLID Principles: Interface segregation, Dependency inversion
  4. Template Programming: Generic repository implementation
  5. File Management: Persistent data storage and retrieval
  6. STL Algorithms: Modern C++ standard library usage

About

Add Library Management System - C++ project with Repository pattern, file persistence, and book/member management

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages