Ett bibliotekssystem för hantering av böcker, medlemmar och utlåning - nu med databas och webbgränssnitt.
Systemet är byggt med objektorienterade principer i C# och använder komposition (Alternativ B) där ett huvudbibliotek (Library) innehåller tre hanteringsklasser:
BookCatalog- hanterar böckerMemberRegistry- hanterar medlemmarLoanManager- hanterar utlåning
Huvudfunktioner:
- Skapa böcker och medlemmar
- Låna och returnera böcker
- Sök efter böcker (titel, författare, ISBN)
- Sortera böcker (alfabetiskt eller efter år)
- Se statistik (totalt antal böcker, utlånade böcker, mest aktiva låntagare)
- 20 enhetstester med xUnit
Nya funktioner:
- Entity Framework Core med SQLite-databas
- Databasmodell med relationer (Books, Members, Loans)
- Blazor Server webbgränssnitt med:
- Boklista med sökning och sortering
- Medlemslista med aktiva lån
- Lånelista med markering av försenade lån
- Bokdetaljer med lånehistorik
- Formulär med validering
- 10 nya enhetstester
Books
| Kolumn | Typ | Beskrivning |
|---|---|---|
| Id | int (PK) | Primärnyckel |
| ISBN | string (unik) | ISBN-nummer |
| Title | string | Boktitel |
| Author | string | Författare |
| PublishedYear | int | Publiceringsår |
| IsAvailable | bool | Tillgänglig status |
Members
| Kolumn | Typ | Beskrivning |
|---|---|---|
| Id | int (PK) | Primärnyckel |
| MemberId | string (unik) | Medlems-ID |
| Name | string | Namn |
| string (unik) | E-post | |
| MemberSince | DateTime | Registreringsdatum |
Loans
| Kolumn | Typ | Beskrivning |
|---|---|---|
| Id | int (PK) | Primärnyckel |
| BookId | int (FK) | Länk till Books |
| MemberId | int (FK) | Länk till Members |
| LoanDate | DateTime | Lånedatum |
| DueDate | DateTime | Återlämningsdatum |
| ReturnDate | DateTime? | Faktiskt returdatum |
- En Book kan ha många Loans
- En Member kan ha många Loans
- Ett Loan tillhör en Book och en Member
Sökning, sortering och status (Tillgänglig/Utlånad)
Lånehistorik och låna/returnera
*Medlemslista med detaljer och att lägga till nya medlemmar*
Aktiva lån med markering av försenade
- .NET 8.0 SDK eller senare
# Klona repositoryt
git clone https://github.com/Alirepa/LibarySystem.git
cd LibrarySystem
# Bygg och kör webbapplikationen
cd LibrarySystem.Web
dotnet run