Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rubel011/library-management-system
This is the library-management backend project . I have deployed the project on AWS. Here is the aws_link:-
https://github.com/rubel011/library-management-system
aws-ec2 bcrypt expressjs jsonwebtoken mongodb mongoose nodejs swagger-ui
Last synced: 12 days ago
JSON representation
This is the library-management backend project . I have deployed the project on AWS. Here is the aws_link:-
- Host: GitHub
- URL: https://github.com/rubel011/library-management-system
- Owner: Rubel011
- Created: 2023-10-05T14:32:35.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-05T06:02:44.000Z (about 1 year ago)
- Last Synced: 2023-11-05T14:27:26.440Z (about 1 year ago)
- Topics: aws-ec2, bcrypt, expressjs, jsonwebtoken, mongodb, mongoose, nodejs, swagger-ui
- Language: JavaScript
- Homepage: https://library-management-system-five-red.vercel.app/
- Size: 72.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Library-management-system
This is the library-management system, where you can register, log in, and access restricted resources.
## API Documentation: for Swagger
You can explore the API documentation using Swagger UI. Access the documentation by navigating to:
https://library-management-system-five-red.vercel.app/api-docs
## Functionality
The API includes the following functionality:
- User Registration
- User Login and Authentication
- User details
- book Management- create , update, delete## Backend Deployment
The backend of this project is deployed on AWS and can be accessed via the following link:
[Backend Deployment Link](https://library-management-system-five-red.vercel.app/)
## Backend-Routes
- **User Authentication**:
- `POST /users/register`: Register a new user.
- `POST /users/login`: Log in with a registered user.
- `GET /users/`: Get all user details (jwt protected) .
- **Book Management**:
- `GET /books/`: List of all available books.
- `GET /books/search?{title=?,available=?}`: Update book details.
- `POST /books/`: Add a new book.
- `PUT /books/`: Update book details.
- `DELETE /books/`: Delete a book form database.
- **Borrowing Book**:
- `POST /borrow/{:bookid}`: Borrow a new book (jwt prltected).
- `POST /borrow/return/{:bookid}`: Return a borrowed book.
### Technologies Used- Node.js
- Express.js
- MongoDB
- Mongoose
- Bcrypt
- JWT
- Swagger (for API documentation)### Installation
1. Clone the repository to your local machine:
```bash
git clone https://github.com/Rubel011/library-management-system.git2. Navigate to the project directory:
```bash
cd library-management-system
3. Install the project dependencies:
```bash
npm install4. Create a .env file in the project root and configure the following environment variables:
```markdown
PORT=8080
mongoUrl=database link
saltRounds=15
ACCESS_TOKEN_SECRET=masai_school
REFRESH_TOKEN_SECRET=masai_refresh_token4. Start the server:
```
npm run server
```5. Access the backend API at http://localhost:PORT.