{"id":15066101,"url":"https://github.com/kei-k23/library-management-system-backend","last_synced_at":"2025-10-13T23:34:56.512Z","repository":{"id":255786283,"uuid":"850615806","full_name":"Kei-K23/library-management-system-backend","owner":"Kei-K23","description":"Library management system Backend with Asp.Net 8 and C# ","archived":false,"fork":false,"pushed_at":"2024-09-07T03:29:54.000Z","size":39,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T14:01:41.375Z","etag":null,"topics":["api","asp-net-core","csharp","dotnet-core"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kei-K23.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-01T09:44:34.000Z","updated_at":"2025-03-24T18:04:14.000Z","dependencies_parsed_at":"2024-09-07T05:00:08.076Z","dependency_job_id":"57d33e8c-e64c-407d-9ea2-6ab819e0dc3e","html_url":"https://github.com/Kei-K23/library-management-system-backend","commit_stats":null,"previous_names":["kei-k23/library-management-system-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Kei-K23/library-management-system-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Flibrary-management-system-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Flibrary-management-system-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Flibrary-management-system-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Flibrary-management-system-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kei-K23","download_url":"https://codeload.github.com/Kei-K23/library-management-system-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Flibrary-management-system-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017235,"owners_count":26086015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","asp-net-core","csharp","dotnet-core"],"created_at":"2024-09-25T01:01:36.904Z","updated_at":"2025-10-13T23:34:56.493Z","avatar_url":"https://github.com/Kei-K23.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Library Management System Design\n\n## 1. Entities\n\n### User\n\n- **Id** (GUID)\n- **Name** (string)\n- **Email** (string)\n- **Password** (string, hashed)\n- **Role** (enum: Admin, Librarian, Member)\n- **DateJoined** (DateTime)\n\n### Book\n\n- **Id** (GUID)\n- **Title** (string)\n- **Author** (string)\n- **ISBN** (string)\n- **Publisher** (string)\n- **PublishedDate** (DateTime)\n- **Category** (string)\n- **Description** (string)\n- **CopiesAvailable** (int)\n- **TotalCopies** (int)\n\n### Category\n\n- **Id** (GUID)\n- **Name** (string)\n- **Description** (string)\n\n### Loan\n\n- **Id** (GUID)\n- **BookId** (GUID)\n- **UserId** (GUID)\n- **LoanDate** (DateTime)\n- **DueDate** (DateTime)\n- **ReturnDate** (DateTime, nullable)\n- **Status** (enum: Loaned, Returned, Overdue)\n\n### Reservation\n\n- **Id** (GUID)\n- **BookId** (GUID)\n- **UserId** (GUID)\n- **ReservationDate** (DateTime)\n- **Status** (enum: Reserved, Cancelled, Completed)\n\n### Fine\n\n- **Id** (GUID)\n- **UserId** (GUID)\n- **Amount** (decimal)\n- **Reason** (string)\n- **Status** (enum: Unpaid, Paid)\n- **DateIssued** (DateTime)\n\n### Review\n\n- **Id** (GUID)\n- **BookId** (GUID)\n- **UserId** (GUID)\n- **Rating** (int)\n- **Comment** (string)\n- **DateReviewed** (DateTime)\n\n## 2. API Endpoints\n\n### User Management\n\n- **POST /api/users/register**\n\n  - Registers a new user.\n  - **Input:** `Name`, `Email`, `Password`, `Role`.\n\n- **POST /api/users/login**\n\n  - Authenticates a user.\n  - **Input:** `Email`, `Password`.\n\n- **GET /api/users/{id}**\n\n  - Retrieves user details by `Id`.\n\n- **PUT /api/users/{id}**\n\n  - Updates user details.\n  - **Input:** `Name`, `Email`, `Password`.\n\n- **DELETE /api/users/{id}**\n  - Deletes a user account.\n\n### Book Management\n\n- **POST /api/books**\n\n  - Adds a new book to the library.\n  - **Input:** `Title`, `Author`, `ISBN`, `Publisher`, `PublishedDate`, `Category`, `Description`, `TotalCopies`.\n\n- **GET /api/books**\n\n  - Retrieves a list of all books.\n\n- **GET /api/books/{id}**\n\n  - Retrieves details of a specific book.\n\n- **PUT /api/books/{id}**\n\n  - Updates book details.\n  - **Input:** `Title`, `Author`, `ISBN`, `Publisher`, `PublishedDate`, `Category`, `Description`, `TotalCopies`, `CopiesAvailable`.\n\n- **DELETE /api/books/{id}**\n  - Deletes a book from the library.\n\n### Category Management\n\n- **POST /api/categories**\n\n  - Adds a new category.\n  - **Input:** `Name`, `Description`.\n\n- **GET /api/categories**\n\n  - Retrieves a list of all categories.\n\n- **GET /api/categories/{id}**\n\n  - Retrieves details of a specific category.\n\n- **PUT /api/categories/{id}**\n\n  - Updates category details.\n  - **Input:** `Name`, `Description`.\n\n- **DELETE /api/categories/{id}**\n  - Deletes a category.\n\n### Loan Management\n\n- **POST /api/loans**\n\n  - Issues a loan for a book.\n  - **Input:** `BookId`, `UserId`.\n\n- **GET /api/loans**\n\n  - Retrieves all loans.\n\n- **GET /api/loans/{id}**\n\n  - Retrieves details of a specific loan.\n\n- **PUT /api/loans/{id}**\n\n  - Updates loan status.\n  - **Input:** `ReturnDate`, `Status`.\n\n- **DELETE /api/loans/{id}**\n  - Cancels a loan.\n\n### Reservation Management\n\n- **POST /api/reservations**\n\n  - Reserves a book.\n  - **Input:** `BookId`, `UserId`.\n\n- **GET /api/reservations**\n\n  - Retrieves all reservations.\n\n- **GET /api/reservations/{id}**\n\n  - Retrieves details of a specific reservation.\n\n- **PUT /api/reservations/{id}**\n\n  - Updates reservation status.\n  - **Input:** `Status`.\n\n- **DELETE /api/reservations/{id}**\n  - Cancels a reservation.\n\n### Fine Management\n\n- **POST /api/fines**\n\n  - Issues a fine to a user.\n  - **Input:** `UserId`, `Amount`, `Reason`.\n\n- **GET /api/fines**\n\n  - Retrieves all fines.\n\n- **GET /api/fines/{id}**\n\n  - Retrieves details of a specific fine.\n\n- **PUT /api/fines/{id}**\n\n  - Updates fine status.\n  - **Input:** `Status`.\n\n- **DELETE /api/fines/{id}**\n  - Cancels a fine.\n\n### Review Management\n\n- **POST /api/reviews**\n\n  - Adds a review for a book.\n  - **Input:** `BookId`, `UserId`, `Rating`, `Comment`.\n\n- **GET /api/reviews**\n\n  - Retrieves all reviews.\n\n- **GET /api/reviews/{id}**\n\n  - Retrieves details of a specific review.\n\n- **PUT /api/reviews/{id}**\n\n  - Updates a review.\n  - **Input:** `Rating`, `Comment`.\n\n- **DELETE /api/reviews/{id}**\n  - Deletes a review.\n\n## 3. Additional Features\n\n### Search API\n\n- **GET /api/search**\n  - Search books by title, author, category, ISBN, etc.\n  - **Input:** `query`.\n\n### Dashboard\n\n- **GET /api/dashboard**\n  - Retrieves statistics such as total books, loans, overdue books, etc.\n\n### Notifications\n\n- **POST /api/notifications**\n  - Send notifications to users (e.g., overdue reminders).\n\n### Reporting\n\n- **GET /api/reports**\n  - Generates reports on loans, fines, user activity, etc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkei-k23%2Flibrary-management-system-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkei-k23%2Flibrary-management-system-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkei-k23%2Flibrary-management-system-backend/lists"}