Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions LabFiles/02-analyze-document-code/AccelerateDevGHCopilot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Library App

## Description

Library App is a .NET console-based library management application. It models core library entities (books, patrons, and loans), applies business rules through application services, and uses JSON-backed repositories for persistence. The solution is organized with a clean separation between domain logic, console UI, infrastructure, and automated tests.

## Project Structure

- src
- Library.ApplicationCore
- Entities
- Enums
- Interfaces
- Services
- Library.ApplicationCore.csproj
- Library.Console
- Program.cs
- ConsoleApp.cs
- ConsoleState.cs
- CommonActions.cs
- appSettings.json
- Json
- Library.Console.csproj
- Library.Infrastructure
- Data
- Library.Infrastructure.csproj
- tests
- UnitTests
- ApplicationCore
- LoanFactory.cs
- PatronFactory.cs
- UnitTests.csproj
- README.md

## Key Classes and Interfaces

- Entities
- Author, Book, BookItem, Loan, Patron
- Application interfaces
- ILoanRepository, ILoanService, IPatronRepository, IPatronService
- Domain services
- LoanService, PatronService
- Console layer
- ConsoleApp
- Infrastructure data access
- JsonData, JsonLoanRepository, JsonPatronRepository

## Usage

1. Prerequisites
Install the .NET SDK (recommended current LTS).
2. Restore and build
Command: `dotnet build src/Library.Console/Library.Console.csproj`
3. Run the application
Command: `dotnet run --project src/Library.Console/Library.Console.csproj`
4. Run unit tests
Command: `dotnet test tests/UnitTests/UnitTests.csproj`
Comment on lines +50 to +57

## License

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