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.
- Host: GitHub
- URL: https://github.com/prashantsaini1525/my-library
- Owner: prashantsaini1525
- Created: 2024-11-24T10:35:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-25T11:29:15.000Z (over 1 year ago)
- Last Synced: 2025-03-25T12:29:30.183Z (over 1 year ago)
- Topics: crud, crud-application, ejs, express, full-stack, javascript, library-management, library-management-system, nodejs, webpack
- Language: JavaScript
- Homepage:
- Size: 1.81 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
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
---
## Screenshots
Below is a grid of screenshots demonstrating various pages of the application:
## 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.