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

https://github.com/prashantsaini1525/my-library

Project 2 : My Library Management System built with Node.js, Express, & EJS for efficient book & author management.
https://github.com/prashantsaini1525/my-library

crud crud-application ejs express full-stack javascript library-management library-management-system nodejs webpack

Last synced: 6 months ago
JSON representation

Project 2 : My Library Management System built with Node.js, Express, & EJS for efficient book & author management.

Awesome Lists containing this project

README

          

# MyLibrary

MyLibrary is a simple library management web application built with Node.js, Express, and MongoDB (using Mongoose). This project demonstrates CRUD operations for managing authors and books, including uploading a cover image for each book.

---

## Demo Video

Click to watch the demo video



Demo Video

---

## Screenshots

Below is a grid of screenshots demonstrating various pages of the application:


Screenshot 1
Screenshot 2


Screenshot 3
Screenshot 4


Screenshot 5

## Features

- **Author Management:**

- Add, update, and delete authors
- View a list of authors

- **Book Management:**

- Add, update, and delete books
- Upload a cover image for each book
- View a list of books

- **CRUD Demonstration:**
- A simple example to illustrate managing related data using Node.js, Express, and MongoDB

## Project Motivation

The primary goal of MyLibrary is to serve as a learning tool for basic CRUD operations. It demonstrates how authors and books (with cover images) can be managed using a modern web stack. This project does not include full book file uploads (such as PDFs), keeping the focus on core functionality.

## Installation

1. **Clone the repository:**

```bash
git clone https://github.com/prashantsaini1525/MyLibrary.git
cd MyLibrary
```

2. **Install dependencies:**

```bash
npm install
```

3. **Set Up Environment Variables:**

- Create a .env file in the root directory with your configuration:

```bash
MONGO_URI=your_mongodb_connection_string
PORT=3000
```

4. **Run the Application:**

- Start the server:

```bash
npm start
```

- Or use development mode:

```bash
npm run devStart
```

5. **Access the Application:**

- Open your browser and navigate to http://localhost:3000.

## Project Structure

- **server.js:** Main file setting up Express and connecting to MongoDB.

- **models/:** Contains Mongoose models for Authors and Books.

- **views/:** Contains EJS templates for rendering the UI.

- **public/:** Contains static assets (including cover images).

---

## Future Enhancements

- **Book File Uploads:**
Add functionality to allow uploading complete book files (e.g., PDFs) using middleware like Multer.

- **User Authentication:**
Implement authentication for managing access to book and author data.

- **Enhanced UI/UX:**
Improve the frontend with modern frameworks or design enhancements.

## Contributing

Contributions are welcome! Feel free to fork the repository, open pull requests, or submit issues with suggestions and bug reports.

## 📄 License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.