Skip to content

ozers/library-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Library Management System

Library Management System

TypeScript Node.js PostgreSQL Docker Jest Express Sequelize

License PRs Welcome Maintenance Stars


🌟 A modern and robust Library Management System built with Node.js and PostgreSQL.

πŸ“– Efficiently manage books, users, and borrowing transactions with ease.

Quick Start β€’ Features β€’ Installation β€’ API β€’ Contributing


πŸš€ Quick Start

# Clone & Install
git clone https://github.com/ozers/library-management.git
cd library-management
cp .env.example .env
npm install

# Start with Docker (Development)
docker-compose -f docker-compose.dev.yml up --build

# Or start without Docker
npm run dev

# Visit: http://localhost:3000

πŸ“Š System Architecture

graph TD
    Client[Client] -->|HTTP Request| Express[Express.js]
    Express -->|Route| Controller[Controllers]
    Controller -->|Validate| Validator[Validators]
    Controller -->|Process| Service[Services]
    Service -->|Query| Model[Models]
    Model -->|Store| DB[(PostgreSQL)]
    Controller -->|Response| Client

    style Client fill:#f9f,stroke:#333,stroke-width:2px
    style Express fill:#ff9900,stroke:#333,stroke-width:2px
    style Controller fill:#ff9900,stroke:#333,stroke-width:2px
    style Service fill:#ff9900,stroke:#333,stroke-width:2px
    style Model fill:#ff9900,stroke:#333,stroke-width:2px
    style DB fill:#ff9900,stroke:#333,stroke-width:2px
Loading

✨ Features

πŸ“š Book Management

  • Smart cataloging system
  • Real-time availability tracking
  • Advanced search capabilities
  • Category organization

πŸ‘₯ User Management

  • Seamless registration
  • Detailed profiles
  • Activity monitoring
  • Preference settings

πŸ”„ Borrowing System

  • One-click borrowing
  • Rating-enabled returns
  • Overdue notifications
  • Reservation system

πŸ›  Installation

Prerequisites

  • Node.js (v14+)
  • Docker & Docker Compose
  • PostgreSQL
  • Git

Environment Setup

DB_HOST=db
DB_PORT=5432
DB_NAME=library_db
DB_USER=postgres
DB_PASSWORD=postgres
NODE_ENV=development
PORT=3000

πŸ“š API Endpoints

Books

  • GET /api/books - List all books
  • GET /api/books/:id - Get book details
  • POST /api/books - Create new book

Users

  • GET /api/users - List all users
  • GET /api/users/:id - Get user details
  • POST /api/users - Create new user

Borrowing & Transactions

  • POST /api/borrow/:userId/borrow/:bookId - Borrow a book
  • POST /api/borrow/:userId/return/:bookId - Return a book
  • GET /api/transactions/user/:userId - Get user's transactions
  • GET /api/transactions/:id - Get transaction details

πŸ“ Contributing

  1. Fork the repository
  2. Create feature branch
  3. Commit changes
  4. Push to branch
  5. Create Pull Request

πŸ“§ Contact & Support

Email GitHub LinkedIn Website

πŸ“ License

πŸ“œ MIT License

License


🌟 Made with ❀️ by Ozer SUBASI

Stars Forks Issues

About

Library management system with book tracking and user management. Node.js + TypeScript + PostgreSQL.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages