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

https://github.com/ateeqrana7/bookmanagementsystem

This is a simple book management system built with React.js and Node.js. It allows users to perform CRUD (Create, Read, Update, Delete) operations on a collection of books. The system consists of a frontend developed with React.js for the user interface and a backend implemented with Node.js for handling data storage and retrieval.
https://github.com/ateeqrana7/bookmanagementsystem

full-stack-web-development fullstack-development javascript mern-stack mongodb nodejs react webapp website

Last synced: about 1 year ago
JSON representation

This is a simple book management system built with React.js and Node.js. It allows users to perform CRUD (Create, Read, Update, Delete) operations on a collection of books. The system consists of a frontend developed with React.js for the user interface and a backend implemented with Node.js for handling data storage and retrieval.

Awesome Lists containing this project

README

          

# Book Management System

This is a simple book management system built with React.js and Node.js. It allows users to perform CRUD (Create, Read, Update, Delete) operations on a collection of books. The system consists of a frontend developed with React.js for the user interface and a backend implemented with Node.js for handling data storage and retrieval.

# Features


  • View a list of books with their details

  • Add a new book to the collection

  • Update existing book details

  • Delete a book from the collection

# Prerequisites

Before running this application, make sure you have the following software installed:


  1. Node.js: Download Node.js

  2. npm (Node Package Manager): This comes bundled with Node.js installation

# Getting Started

Follow these steps to get the book management system up and running on your local machine.

Clone the repository:


  1. git clone https://github.com/AteeqRana7/book-management-system/tree/master

Navigate to the project directory:


  1. cd book-management-system

Install the dependencies for both the frontend and backend:

Install frontend dependencies


  1. cd client

  2. npm install

Install backend dependencies


  1. cd ../server

  2. npm install

Start the development server for the frontend and backend:


    Start frontend development server
  1. cd client

  2. npm start


    Start backend server
  1. cd ../server

  2. npm start


Access the application
Open your browser and visit http://localhost:3000 to access the book management system.

# Folder Structure

The project is structured as follows:


  • book-management-system/client/ # Frontend code

  • book-management-system/server/ # Backend code

  • book-management-system/README.md # Project documentation

The client directory contains all the code related to the frontend React.js application, while the server directory contains the backend Node.js application.

# Technologies Used

The book management system is built using the following technologies:

Frontend:


  • React.js: JavaScript library for building user interfaces

  • React Router: Declarative routing for React applications

  • Axios: Promise-based HTTP client for making API requests

Backend:


  • Node.js: JavaScript runtime for server-side development

  • Express: Web application framework for Node.js

# API Endpoints

The backend provides the following API endpoints:


  • GET /books: Get a list of all books

  • GET /editBook/:id : Get a specific book by ID to edit it

  • POST /addBook: Add a new book

  • PUT /editBook/:id : Update a book by ID

  • DELETE /books/:id : Delete a book by ID

# Contributing

Contributions to the book management system are always welcome. If you find any bugs or have suggestions for improvements, please open an issue or submit a pull request.

# License

This project is licensed under the MIT License.

# Acknowledgments

The book management system is inspired by various CRUD examples available in the React.js and Node.js communities.
Special thanks to the open-source contributors whose libraries and frameworks are used in this project.

# Contact

For any inquiries or questions, feel free to contact the project maintainer:

Name: Ateeq Rana
Email: ateeq.rana98@gmail.com
GitHub: @AteeqRana7