Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/muhammedmagdyy/library-management-system
- Owner: MuhammedMagdyy
- Created: 2023-11-03T14:13:55.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-30T20:48:45.000Z (9 months ago)
- Last Synced: 2024-03-30T21:36:25.268Z (9 months ago)
- Topics: docker, expressjs, nodejs, postgresql, prisma-orm, typescript
- Language: TypeScript
- Homepage:
- Size: 281 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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