From b5d3a9fe997b5ee749d012bfa2f662939f24f777 Mon Sep 17 00:00:00 2001 From: Yogeshwaran S Date: Fri, 12 Jun 2026 09:23:31 +0530 Subject: [PATCH] chore:Updated README.md --- README.md | 508 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 471 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index dee0615..1dc3e4b 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,489 @@ -# Project Name +# ๐Ÿ“š Library Management System -Production-grade fullstack web application. +A modern, full-stack Library Management System built with **Node.js, Express.js, TypeScript, PostgreSQL, Sequelize, React, Vite, Tailwind CSS, Zustand, React Query, and Azure AI Integration**. -## Tech Stack +Designed for educational institutions, public libraries, and digital library management workflows, this platform provides complete book lifecycle management, membership administration, borrowing workflows, fine tracking, AI-powered book scanning, and role-based access control. -### Frontend -- React -- Vite -- TypeScript -- TailwindCSS -- Zustand -- React Query +--- -### Backend -- Express -- Prisma ORM -- PostgreSQL -- Swagger +# ๐Ÿš€ Live Demo -### DevOps -- Docker -- GitHub Actions -- Nginx +### Frontend Application -## Project Structure +**Deploy Link:** Coming Soon -project/ -โ”œโ”€โ”€ client/ -โ”œโ”€โ”€ server/ -โ”œโ”€โ”€ docker/ -โ”œโ”€โ”€ nginx/ -โ”œโ”€โ”€ docs/ -โ””โ”€โ”€ .github/ +### Backend API -## Setup +**Deploy Link:** Coming Soon -### Frontend +### API Documentation -cd client -npm install +**Swagger Documentation:** Coming Soon + +--- + +# ๐Ÿ“– Overview + +The Library Management System automates library operations including: + +* User Authentication & Authorization +* Role-Based Access Control (RBAC) +* Member Management +* Membership Plan Management +* Book Catalog Management +* Book Borrow & Return Operations +* Fine Calculation & Tracking +* Dashboard Analytics +* AI-Powered Book Cover Scanner +* API Documentation +* CI/CD Automation + +--- + +# โœจ Key Features + +## ๐Ÿ” Authentication & Authorization + +* JWT Authentication +* Secure Login System +* Refresh Token Support +* Password Encryption using Bcrypt +* Role-Based Access Control +* Protected API Routes + +### Supported Roles + +* Admin +* Member + +--- + +## ๐Ÿ‘จโ€๐Ÿ’ผ Admin Management + +Administrators can: + +* Manage Users +* Manage Members +* Manage Books +* Manage Categories +* Manage Membership Plans +* Track Fines +* Monitor Borrowing Activity +* Access Dashboard Analytics + +--- + +## ๐Ÿ‘ฅ Member Management + +Features include: + +* Member Registration +* Membership Assignment +* Membership Renewal +* Membership Status Tracking +* Borrowing Eligibility Validation + +--- + +## ๐Ÿ“š Book Management + +* Add Books +* Update Books +* Delete Books +* Search Books +* Category Assignment +* Availability Tracking +* Inventory Management + +--- + +## ๐Ÿท๏ธ Category Management + +* Create Categories +* Update Categories +* Delete Categories +* Organize Library Inventory + +--- + +## ๐Ÿ”„ Borrow & Return Workflow + +* Issue Books +* Return Books +* Due Date Management +* Borrow History Tracking +* Availability Validation + +--- + +## ๐Ÿ’ฐ Fine Management + +* Fine Calculation +* Fine Tracking +* Payment Status Monitoring +* Fine History Reports + +--- + +## ๐Ÿ“‹ Membership Plans + +* Create Plans +* Update Plans +* Delete Plans +* Duration Management +* Borrowing Limits +* Pricing Configuration + +--- + +## ๐Ÿค– AI Book Scanner + +AI-powered book cover analysis using: + +### Azure Vision OCR + +Extracts text from book covers. + +### Azure Translator + +Converts extracted text into English. + +### Google Gemini AI + +Analyzes OCR content and identifies: + +* Book Title +* Author Name + +This dramatically reduces manual book entry operations. + +--- + +## ๐Ÿ“Š Dashboard Analytics + +Provides: + +* Total Books +* Active Members +* Borrow Statistics +* Fine Reports +* Membership Statistics +* Library Overview + +--- + +# ๐Ÿ—๏ธ System Architecture + +## Frontend + +```text +React 19 +โ”‚ +โ”œโ”€โ”€ TypeScript +โ”œโ”€โ”€ Vite +โ”œโ”€โ”€ Tailwind CSS +โ”œโ”€โ”€ React Router +โ”œโ”€โ”€ React Query +โ”œโ”€โ”€ Zustand +โ”œโ”€โ”€ Axios +โ”œโ”€โ”€ React Hook Form +โ”œโ”€โ”€ Zod +โ”œโ”€โ”€ Sonner +โ””โ”€โ”€ Framer Motion +``` + +## Backend + +```text +Node.js +โ”‚ +โ”œโ”€โ”€ Express.js +โ”œโ”€โ”€ TypeScript +โ”œโ”€โ”€ Sequelize ORM +โ”œโ”€โ”€ PostgreSQL +โ”œโ”€โ”€ JWT Authentication +โ”œโ”€โ”€ Bcrypt +โ”œโ”€โ”€ Zod Validation +โ”œโ”€โ”€ Swagger +โ”œโ”€โ”€ Winston Logger +โ”œโ”€โ”€ Multer +โ”œโ”€โ”€ Azure AI +โ”œโ”€โ”€ Gemini AI +โ””โ”€โ”€ Jest Testing +``` + +--- + +# ๐Ÿ—‚ Backend Project Structure + +```text +src +โ”‚ +โ”œโ”€โ”€ config +โ”œโ”€โ”€ controllers +โ”œโ”€โ”€ middlewares +โ”œโ”€โ”€ routes +โ”œโ”€โ”€ database +โ”‚ โ”œโ”€โ”€ models +โ”‚ โ”œโ”€โ”€ migrations +โ”‚ โ””โ”€โ”€ seeders +โ”‚ +โ”œโ”€โ”€ modules +โ”‚ โ”œโ”€โ”€ admin +โ”‚ โ”œโ”€โ”€ auth +โ”‚ โ”œโ”€โ”€ azureAI +โ”‚ โ”œโ”€โ”€ books +โ”‚ โ”œโ”€โ”€ categories +โ”‚ โ”œโ”€โ”€ dashboard +โ”‚ โ”œโ”€โ”€ fines +โ”‚ โ”œโ”€โ”€ issues +โ”‚ โ”œโ”€โ”€ members +โ”‚ โ””โ”€โ”€ plans +โ”‚ +โ”œโ”€โ”€ utils +โ”œโ”€โ”€ validators +โ””โ”€โ”€ server.ts +``` + +--- + +# ๐Ÿ›  Tech Stack + +## Frontend + +* React 19 +* TypeScript +* Vite +* Tailwind CSS +* React Router DOM +* React Query +* Zustand +* Axios +* React Hook Form +* Zod +* Sonner +* Framer Motion + +## Backend + +* Node.js +* Express.js +* TypeScript +* PostgreSQL +* Sequelize ORM +* JWT +* Bcrypt +* Zod +* Multer +* Swagger +* Winston + +## AI Services + +* Azure Vision OCR +* Azure Translator +* Google Gemini AI -### Backend +## Testing +* Jest +* Supertest + +## CI/CD + +* GitHub Actions + +--- + +# ๐Ÿงช Testing + +### Unit Tests + +```text +133+ Unit Tests +``` + +Coverage includes: + +* Admin Service +* Auth Service +* Member Service +* Membership Plan Service +* Azure AI Scanner Service +* Validation Layer +* Repository Mocking + +### Integration Tests + +```text +102+ Integration Tests +``` + +Coverage includes: + +* Authentication APIs +* Admin APIs +* Members APIs +* Books APIs +* Categories APIs +* Fine APIs +* Membership APIs +* Dashboard APIs + +--- + +# ๐Ÿ”„ CI/CD Pipeline + +GitHub Actions automatically performs: + +```text +โœ“ Install Dependencies +โœ“ TypeScript Build Validation +โœ“ Unit Tests Execution +โœ“ Integration Tests Execution +โœ“ Pull Request Validation +``` + +--- + +# โš™๏ธ Environment Variables + +Create a `.env` file inside the server directory. + +```env +NODE_ENV=development + +PORT=5000 + +DATABASE_URL=postgresql://username:password@localhost:5432/library_db + +JWT_SECRET=your_jwt_secret + +AZURE_AI_KEY=your_azure_key +AZURE_AI_ENDPOINT=your_azure_endpoint +AZURE_AI_REGION=centralindia + +GEMINI_API_KEY=your_gemini_api_key +``` + +--- + +# ๐Ÿš€ Local Development Setup + +## Clone Repository + +```bash +git clone https://github.com/your-username/library-management-system.git + +cd library-management-system +``` + +--- + +## Backend Setup + +```bash cd server + npm install -## Environment Variables +npm run dev +``` + +Backend runs on: + +```text +http://localhost:5000 +``` + +--- + +## Frontend Setup + +```bash +cd client + +npm install + +npm run dev +``` + +Frontend runs on: + +```text +http://localhost:5173 +``` + +--- + +# ๐Ÿ“š API Documentation + +Swagger documentation will be available at: + +```text +Deploy Link Coming Soon +``` + +Local: + +```text +http://localhost:5000/api-docs +``` + +--- + +# ๐Ÿ”’ Security Features + +* JWT Authentication +* Password Hashing (Bcrypt) +* Role-Based Authorization +* Zod Request Validation +* Rate Limiting +* Helmet Security Headers +* CORS Protection +* Environment Variable Validation + +--- + +# ๐ŸŽฏ Future Enhancements + +* Email Notifications +* Mobile Application +* Reservation System +* Barcode Scanner Support +* QR Code Integration +* Advanced Analytics +* Multi-Library Support +* Cloud Storage Integration +* Payment Gateway Integration + +--- + +# ๐Ÿ‘จโ€๐Ÿ’ป Author + +**Yogeshwaran S** + +GitHub: https://github.com/YogeshwaranOfficial + +LinkedIn: Add Your LinkedIn Profile + +Portfolio: Coming Soon + +--- + +# ๐Ÿ“„ License + +This project is licensed under the MIT License. + +--- -See: -.env.example +## โญ Support -## License +If you found this project useful, consider giving it a star on GitHub. -MIT \ No newline at end of file +```text +โญ Star the Repository +๐Ÿด Fork the Project +๐Ÿ› Report Issues +๐Ÿš€ Contribute +```