Skip to content

kishorer666/libraryapplication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Library App

Description

Library App is a console-based application designed to manage library operations such as patron searches, loan management, and membership renewals. It is built using .NET 9.0 and follows a modular architecture with clear separation of concerns.

Project Structure

  • AccelerateDevGHCopilot.sln: Solution file for the project.
  • src/
    • Library.ApplicationCore/
      • Entities/: Contains core domain entities such as Patron, Loan, and BookItem.
      • Enums/: Defines enumerations used across the application.
      • Interfaces/: Declares interfaces for services and repositories.
      • Services/: Implements business logic for library operations.
      • Library.ApplicationCore.csproj: Project file for the Application Core.
    • Library.Console/
      • appSettings.json: Configuration file for the console application.
      • CommonActions.cs: Defines common actions available in the console interface.
      • ConsoleApp.cs: Main class for the console application.
      • ConsoleState.cs: Enum representing the states of the console application.
      • Program.cs: Entry point for the console application.
      • Json/: Contains JSON files for data persistence.
      • Library.Console.csproj: Project file for the Console application.
    • Library.Infrastructure/
      • Data/: Implements data access logic using JSON files.
      • Library.Infrastructure.csproj: Project file for the Infrastructure layer.
  • tests/
    • UnitTests/
      • ApplicationCore/: Contains unit tests for core application logic.
      • LoanFactory.cs: Factory for creating test loan objects.
      • PatronFactory.cs: Factory for creating test patron objects.
      • UnitTests.csproj: Project file for unit tests.

Key Classes and Interfaces

  • Core Classes
    • Patron: Represents a library patron.
    • Loan: Represents a loaned book.
    • BookItem: Represents a physical copy of a book.
  • Enums
    • ConsoleState: Represents the states of the console application.
    • CommonActions: Defines actions available in the console interface.
  • Interfaces
    • IPatronRepository: Interface for patron data access.
    • ILoanRepository: Interface for loan data access.
    • ILoanService: Interface for loan-related business logic.
    • IPatronService: Interface for patron-related business logic.
  • Console Application
    • ConsoleApp: Main class for the console application.
    • Program: Entry point for the application.
  • Infrastructure
    • JsonPatronRepository: Implements IPatronRepository using JSON files.
    • JsonLoanRepository: Implements ILoanRepository using JSON files.
    • JsonData: Manages JSON file operations.

Usage

  1. Clone the repository:
    git clone <repository-url>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages