Skip to content

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

 
 
 

Contributors