Skip to content

A multi-layered Library Management System built with ASP.NET Core MVC and Entity Framework Core. Includes features like book listing, category management, advanced filtering, and DTO-based architecture with AutoMapper integration.

License

Notifications You must be signed in to change notification settings

snurdal/LibraryManagement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Library Management System

LB_Home

A comprehensive library management system built with ASP.NET Core MVC, implementing Layered Architecture principles and modern web development practices.

πŸŽ“ Project Context

This project was developed as the capstone project for the MSCD Software Specialist Training Program at Arı Bilgi Bilişim Teknolojileri, demonstrating proficiency in full-stack .NET development and architectural design patterns.

✨ Key Features

πŸ“– Book Management

  • Add New Books with detailed information (Title, Publish Year, Description, Cover Image)
  • Dynamic Category & Author Creation during book creation process
  • Comprehensive Book Listing with search and filter capabilities
  • Book Details View with complete information display
  • Edit & Delete Operations with data integrity checks

πŸ‘₯ Author Management

  • Author Profiles with full name and book count tracking
  • Author Details Page showing all books by the author
  • CRUD Operations (Create, Read, Update, Delete)
  • Dynamic Author Creation from book creation form

πŸ“‚ Category Management

  • Category Organization with book count tracking
  • Creation Date Tracking for administrative purposes
  • Category Details showing all books in category
  • Full CRUD Operations

πŸ” Advanced Search & Filtering

  • Multi-criteria Search (by Book Title, Author Name, Category)
  • Real-time Filtering with dynamic results
  • User-friendly Search Interface

πŸ–ΌοΈ File Management

  • Image Upload System for book covers
  • File Validation (format, size restrictions)
  • Organized File Storage in dedicated folders

πŸ—οΈ Architecture & Technologies

The main structure I created: detailed_layeredarch

Technology Stack

  • Framework: ASP.NET Core MVC 8+
  • Database: Microsoft SQL Server
  • ORM: Entity Framework Core
  • Frontend: HTML5, CSS3, Bootstrap 5
  • JavaScript: jQuery
  • Icons: Font Awesome
  • Object Mapping: AutoMapper

Architectural Pattern: Layered Architecture

πŸ“ Solution Structure
β”œβ”€β”€ 🎨 Presentation Layer (UI.Web)
β”‚   β”œβ”€β”€ Controllers/
β”‚   β”œβ”€β”€ Views/
β”‚   β”œβ”€β”€ Models/ (ViewModels)
β”‚   β”œβ”€β”€ Helpers/ (FileUploadService)
β”‚   └── wwwroot/ (Static files, uploads)
β”‚
β”œβ”€β”€ πŸ’Ό Business Layer
β”‚   β”œβ”€β”€ Services/ (Business Logic)
β”‚   └── Middlewares/
β”‚
β”œβ”€β”€ 🎯 Core Layer
β”‚   β”œβ”€β”€ Abstracts/ (Interfaces)
β”‚   β”‚   β”œβ”€β”€ IRepositories/
β”‚   β”‚   β”œβ”€β”€ IServices/
β”‚   β”‚   └── IUnitOfWork
β”‚   └── Concretes/
β”‚       β”œβ”€β”€ DTOs/ (Data Transfer Objects)
β”‚       β”œβ”€β”€ Entities/ (Domain Models)
β”‚       └── Maps/ (AutoMapper Profiles)
β”‚
β”œβ”€β”€ πŸ—„οΈ Data Access Layer
β”‚   β”œβ”€β”€ Contexts/ (DbContext)
β”‚   β”œβ”€β”€ Repositories/ (Data Access)
β”‚   β”œβ”€β”€ Migrations/
β”‚   └── UnitOfWork/
β”‚
└── πŸ› οΈ Utilities
    β”œβ”€β”€ Generics/ (Generic Repository Pattern)
    └── Results/ (Result Patterns)

πŸ—ƒοΈ Database Schema

Core Entities

  • Books
LB_dbo books
  • Authors
LB_dbo authors
  • Categories
LB_dto categories

Relationships

  • Book ➀ Author (Many-to-One)
  • Book ➀ Category (Many-to-One)

πŸš€ Getting Started

Prerequisites

  • .NET 8.0 SDK or later
  • SQL Server (LocalDB or Full Version)
  • Visual Studio 2022 or VS Code

Installation Steps

  1. Clone the Repository

    git clone [repository-url]
    cd LibraryManagement
  2. Restore NuGet Packages

    dotnet restore
  3. Update Connection String

    // appsettings.json
    {
      "ConnectionStrings": {
        "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=LibraryDB;Trusted_Connection=true"
      }
    }
  4. Apply Migrations

    dotnet ef database update
  5. Run the Application

    dotnet run

πŸ“± Application Screenshots

🏠 Home Page

  • Clean, intuitive interface showing book collection
  • Advanced search functionality
  • Easy navigation to all features LB_Home_Filter

πŸ“š Book Management

  • Add New Book: Comprehensive form with image upload
  • Book Listing: Organized grid view with pagination
  • Book Details: Full information display with cover image LB_AddBook LB_AddBook_author LB_AddBook_categoryorauthor

πŸ‘€ Author Management

  • Author Profiles: Complete author information
  • Book Count Tracking: Shows productivity metrics
  • Author Details: Lists all books by author LB_Authors LB_Author_Details LB_Author_Edit LB_Authors_Delete LB_Books_CreateJFIFfileuploaderror

🏷️ Category Management

  • Category Overview: Shows organization structure
  • Book Distribution: Visual representation of collection
  • Category Details: Filtered book listings LB_Categories LB_Categories_Details LB_Categories_Edit LM_Categories_Create LB_Categories_Delete

πŸ”§ Design Patterns & Best Practices

Implemented Patterns

  • βœ… Repository Pattern: Clean data access abstraction
  • βœ… Unit of Work Pattern: Transaction management
  • βœ… Dependency Injection: Loose coupling and testability
  • βœ… DTO Pattern: Data transfer optimization
  • βœ… Result Pattern: Consistent error handling
  • βœ… MVC Pattern: Clear separation of concerns

Code Quality Features

  • βœ… SOLID Principles adherence
  • βœ… Clean Code practices
  • βœ… Error Handling with user-friendly messages
  • βœ… Validation on both client and server sides
  • βœ… Responsive Design for mobile compatibility

🎯 Learning Outcomes

This project demonstrates proficiency in:

  • Full-Stack Development with .NET Core ecosystem
  • Database Design and Entity Framework Core
  • Layered Architecture implementation
  • Modern Web UI/UX with Bootstrap and responsive design
  • File Upload & Management systems
  • Search & Filter functionality implementation
  • CRUD Operations with proper validation
  • Error Handling and user experience optimization

πŸ‘¨β€πŸ’» Developer

Seyma Nur Dalamanli


This project represents the culmination of 4 months of intensive software development training, showcasing modern .NET development practices and architectural design principles.

About

A multi-layered Library Management System built with ASP.NET Core MVC and Entity Framework Core. Includes features like book listing, category management, advanced filtering, and DTO-based architecture with AutoMapper integration.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published