Skip to content

A web app for users to browse, borrow, and return books with admin control over the catalog and full authentication support.

Notifications You must be signed in to change notification settings

Hagar992/Book-Lending-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Book Lending System – Full Stack Project


📖 Overview

The Book Lending System is a Full-Stack Web Application built with:

  • BackEnd: ASP.NET Core 7 + Entity Framework Core + SQL Server

  • FrontEnd: Angular 17

  • Deployment: Docker support for easy setup and distribution

The project provides full CRUD operations, user authentication, and a modern, interactive user interface.


⚙️ Tech Stack

🔹 Backend

  • ASP.NET Core 7 (Web API + MVC)

  • C#

  • Entity Framework Core (Code First)

  • SQL Server / PostgreSQL (يمكن استخدام Neon)

  • LINQ

  • Dependency Injection

🔹 Frontend

  • Angular 17

  • HTML5 / CSS3

  • TypeScript

  • Bootstrap

  • Reusable Components & Guards & Interceptors

🔹 Deployment & DevOps

  • Docker (Dockerfile To BackEnd & FrontEnd)

🚀 Features

✅ Backend Features

  • User Authentication & Authorization (JWT).

  • RESTful API endpoints.

  • CRUD (Books, Users, Borrowed Books).

  • Code-First migrations.

  • Validation & Error handling.

✅ Frontend Features

  • Modern & Responsive UI.

  • Login & Register forms.

  • Books management (Add / Edit / Delete / Borrow).

  • Dashboard (Admin & User).

  • Guards & Interceptors for auth handling.



🗂️ Project Structure

Book-Lending-System/
│
├── BackEnd/  
│   ├── BackEnd.sln  
│   ├── BackEnd/  
│   │   ├── Controllers/  
│   │   │   ├── AuthController.cs  
│   │   │   ├── BooksController.cs  
│   │   │   └── WeatherForecastController.cs  
│   │   ├── Data/ (DbContext + Migrations)  
│   │   ├── Dtos/  
│   │   ├── Models/  
│   │   ├── Properties/  
│   │   ├── Program.cs  
│   │   ├── appsettings.json  
│   │   ├── BackEnd.csproj  
│   │   └── Dockerfile  
│
├── FrontEnd/  
│   ├── src/  
│   │   ├── app/  
│   │   │   ├── components/  
│   │   │   ├── pages/  
│   │   │   ├── services/  
│   │   │   ├── guards/  
│   │   │   ├── interceptors/  
│   │   │   └── app.ts  
│   │   ├── index.html  
│   │   ├── styles.css  
│   │   └── main.ts  
│   ├── angular.json  
│   ├── package.json  
│   ├── tsconfig.json  
│   └── Dockerfile  
│
└── README.md

🐳 Docker Support

Dockerfiles have been added to run both the FrontEnd and BackEnd inside Docker containers.

🔹 Run Backend with Docker

  • cd BackEnd/BackEnd
  • docker build -t book-lending-backend .
  • docker run -d -p 5000:5000 book-lending-backend

🔹 Run Frontend with Docker

  • cd FrontEnd
  • docker build -t book-lending-frontend .
  • docker run -d -p 4200:80 book-lending-frontend

After running the containers:


🛠️ Installation & Setup

🔹 Prerequisites

Make sure you have installed:

🔹 Clone Repository

git clone https://github.com/YourUsername/FullStackApp.git
cd FullStackApp

🔹 Backend Setup

cd Backend
dotnet restore
dotnet ef database update
dotnet run

🔹 Frontend Setup

Simply open Frontend/index.html in a browser, or serve it with Live Server in VS Code.


📷 Screenshots

🔹 LogIn

(image ) (image )

🔹 Create Account

(image ) (image )

🔹Home

(image ) (image )

🔹Books list

(image ) (image )

🔹 The Borrowed Books

Dashboard

🔹 All Borrowed Books(For Admin)

(image )

🔹 Book Management (For Admin)

(image )


🤝 Contribution

Contributions are welcome!

  1. Fork the repo
  2. Create a new branch (feature-xyz)
  3. Commit changes
  4. Push & create Pull Request

⚡ Developed with passion by Hagar Atia Elzahar


About

A web app for users to browse, borrow, and return books with admin control over the catalog and full authentication support.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published