Skip to content

devnarayansinghrajput/AccelerateDevGHCopilot

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 modular application designed to manage library operations such as book loans, patron management, and inventory tracking. It is built using .NET and follows a clean architecture approach to ensure scalability and maintainability.

Project Structure

  • AccelerateDevGHCopilot.sln - Solution file for the project.
  • src/
    • Library.ApplicationCore/
      • Entities/ - Contains core domain entities.
      • Enums/ - Defines enumerations used across the application.
      • Interfaces/ - Declares interfaces for core abstractions.
      • Services/ - Implements business logic and domain services.
      • Library.ApplicationCore.csproj - Project file for the Application Core.
    • Library.Console/
      • appSettings.json - Configuration file for the console application.
      • CommonActions.cs - Contains reusable actions for the console app.
      • ConsoleApp.cs - Main application logic for the console interface.
      • ConsoleState.cs - Manages the state of the console application.
      • Program.cs - Entry point for the console application.
      • Json/ - Contains JSON-related utilities or data.
      • Library.Console.csproj - Project file for the Console application.
    • Library.Infrastructure/
      • Data/ - Contains data access implementations.
      • Library.Infrastructure.csproj - Project file for the Infrastructure layer.
  • tests/
    • UnitTests/
      • LoanFactory.cs - Factory for creating test data related to loans.
      • PatronFactory.cs - Factory for creating test data related to patrons.
      • ApplicationCore/ - Contains unit tests for the Application Core.
      • UnitTests.csproj - Project file for unit tests.

Key Classes and Interfaces

  • Entities
    • Book - Represents a book in the library.
    • Patron - Represents a library patron.
    • Loan - Represents a loan transaction.
  • Interfaces
    • IBookRepository - Interface for book-related data operations.
    • IPatronRepository - Interface for patron-related data operations.
    • ILoanService - Interface for managing loan operations.
  • Services
    • LoanService - Implements loan-related business logic.
    • NotificationService - Handles notifications for overdue loans.

Usage

  1. Clone the repository:

    git clone <repository-url>
  2. Open the solution file AccelerateDevGHCopilot.sln in Visual Studio.

  3. Build the solution to restore dependencies and compile the code.

  4. Run the console application:

    dotnet run --project src/Library.Console/Library.Console.csproj
  5. Execute unit tests:

    dotnet test tests/UnitTests/UnitTests.csproj

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages