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.
- 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
Before running this application, make sure you have the following software installed:
- Node.js: Download Node.js
- npm (Node Package Manager): This comes bundled with Node.js installation
Follow these steps to get the book management system up and running on your local machine.
Clone the repository:
Navigate to the project directory:
- cd book-management-system
Install the dependencies for both the frontend and backend:
Install frontend dependencies
- cd client
- npm install
Install backend dependencies
- cd ../server
- npm install
Start the development server for the frontend and backend:
-
Start frontend development server
- cd client
- npm start
-
Start backend server
- cd ../server
- npm start
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.
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
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
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.
This project is licensed under the MIT License.
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.
For any inquiries or questions, feel free to contact the project maintainer:
Name: Ateeq Rana Email: ateeq.rana98@gmail.com GitHub: @AteeqRana7