Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/muhammedmagdyy/library-management-system

A REST API for Managing Library System.
https://github.com/muhammedmagdyy/library-management-system

docker expressjs nodejs postgresql prisma-orm typescript

Last synced: 7 days ago
JSON representation

A REST API for Managing Library System.

Awesome Lists containing this project

README

        

# Library Management System

![Node.js](https://img.shields.io/badge/Node.js-18.18.0-green?logo=node.js&style=flat)
![Express](https://img.shields.io/badge/Express-4.18.2-lightgrey?logo=express&style=flat)
![TypeScript](https://img.shields.io/badge/TypeScript-5.1.6-blue?logo=typescript&style=flat)
![Docker](https://img.shields.io/badge/Docker-latest-blue?logo=docker&style=flat)
![PostgreSQL](https://img.shields.io/badge/PostgreSQL-16.0-blue?logo=postgresql&style=flat)
![Prisma](https://img.shields.io/badge/Prisma-5.0-blueviolet?logo=prisma&style=flat)

## Table of Contents
- [Introduction](#introduction)
- [Prerequisites](#prerequisites)
- [Features](#features)
- [Schema](#schema)
- [Setup](#setup)

## Introduction
The Library Management System (LMS) is designed to simplify the management of books and borrowers within a library environment. The primary goal is to efficiently handle book-related operations and user interactions to enhance the library experience.

## Prerequisites
- Download and install [Nodejs](https://nodejs.org/en)
- Download and install [PostgreSQL](https://www.postgresql.org/download/) using [Docker](https://www.docker.com/) from [Docker Hub](https://hub.docker.com/_/postgres)
- A text editor (e.g. Visual Studio Code `recommended`, Sublime Text)
- A platform for testing APIs like [Postman](https://www.postman.com/downloads/)

## Features
The system supports two roles:
1. **Admin:** An administrator with privileges to perform all operations on books and borrowers.
2. **Borrower:** A user who can interact with the borrowing process and manage their details.

## Schema
![schema](https://github.com/MuhammedMagdyy/Library-Management-System/assets/60513866/5737ac33-5624-4509-be10-c46d98225073)

## Setup
To set up this project locally, follow these steps:

1. Clone the repository
```
https://github.com/MuhammedMagdyy/Library-Management-System.git
```
2. Change the project's directory
```
cd Library-Management-System
```
3. Install [required packages](https://github.com/MuhammedMagdyy/Library-Management-System/blob/main/package.json) using `npm install`
4. Configure the [environment variables](https://github.com/MuhammedMagdyy/Library-Management-System/blob/main/.env.example)
5. Use `npm start` for production or `npm run dev` for development mode