https://github.com/darsan-in/bookstore
This web application provides a simple and efficient way to manage a collection of books. Users can view, add, and delete books through a user-friendly interface. This project was built using React.js and Tailwind CSS for the frontend and Node.js, Express, and MongoDB for the backend.
https://github.com/darsan-in/bookstore
book-listing free-hosting mongodb node-backend react-app real-time
Last synced: 3 months ago
JSON representation
This web application provides a simple and efficient way to manage a collection of books. Users can view, add, and delete books through a user-friendly interface. This project was built using React.js and Tailwind CSS for the frontend and Node.js, Express, and MongoDB for the backend.
- Host: GitHub
- URL: https://github.com/darsan-in/bookstore
- Owner: darsan-in
- License: apache-2.0
- Created: 2024-11-13T07:09:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-14T02:59:04.000Z (over 1 year ago)
- Last Synced: 2025-12-29T12:24:27.767Z (5 months ago)
- Topics: book-listing, free-hosting, mongodb, node-backend, react-app, real-time
- Language: TypeScript
- Homepage: http://bookstore.darsan.in/
- Size: 189 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Book Listing Web Application - Manage Your Book Collection
This web application provides a simple and efficient way to manage a collection of books. Users can view, add, and delete books through a user-friendly interface. This project was built using React.js and Tailwind CSS for the frontend and Node.js, Express, and MongoDB for the backend.
---
---
## Table of Contents π
- [Features and Benefits](#features-and-benefits-)
- [Installation - Step-by-Step Guide](#installation---step-by-step-guide-)
- [API Endpoints](#api-endpoints)
- [Testing Endpoints](#testing-endpoints)
- [Website](#website-)
- [License](#license-%EF%B8%8F)
- [Contributing to Our Project](#contributing-to-our-project-)
- [Contact Information](#contact-information)
## Features and Benefits β¨
* **Book Management:** Allows users to view, add, and delete books easily.
* **RESTful API:** Built with Node.js and Express.js, with MongoDB for data storage.
* **Responsive Design:** The app uses React.js and Tailwind CSS to provide a seamless user experience across devices.
* **Form Validation:** Ensures that users enter all necessary information when adding a book.
---
### ππ» Friendly Request to Users
Every star on this repository is a sign of encouragement, a vote of confidence, and a reminder that our work is making a difference. If this project has brought value to you, even in the smallest way, **please consider showing your support by giving it a star.** β
_"Star" button located at the top-right of the page, near the repository name._
Your star isnβt just a digital iconβitβs a beacon that tells us we're on the right path, that our efforts are appreciated, and that this work matters. It fuels our passion and drives us to keep improving, building, and sharing.
If you believe in what weβre doing, **please share this project with others who might find it helpful.** Together, we can create something truly meaningful.
Thank you for being part of this journey. Your support means the world to us. ππ
---
## Installation - Step-by-Step Guide πͺ
- **Step 1:** Clone the repository.
```bash
git clone https://github.com/darsan-in/bookstore.git
```
- **Step 2:** Navigate to the project directory and install dependencies for both frontend and backend.
```bash
cd bookstore
npm install
```
- **Step 3:** Start the application.
```bash
npm run dev
```
## API Endpoints
* **Get All Books:** `GET /books` - Retrieves a list of all books.
* **Add a Book:** `POST /books` - Adds a new book with `title`, `author`, and `description` fields.
* **Delete a Book:** `DELETE /books/:id` - Deletes a book by its ID.
## Testing Endpoints
### 1. **GET /books** - Fetches a list of all books
```bash
curl -X GET https://bookstore-indol-ten.vercel.app/books
```
### 2. **POST /books** - Adds a new book
```bash
curl -X POST https://bookstore-indol-ten.vercel.app/books \
-H "Content-Type: application/json" \
-d '{
"title": "Book Title",
"author": "Author Name",
"desc": "A brief description of the book.",
"thumbnail": "http://example.com/thumbnail.jpg"
}'
```
### 3. **DELETE /books/:id** - Deletes a book by its ID
```bash
curl -X DELETE https://bookstore-indol-ten.vercel.app/books/12345
```
#### Explanation:
- Replace `https://bookstore-indol-ten.vercel.app` with your actual production URL if needed.
- Replace `"Book Title"`, `"Author Name"`, `"A brief description of the book."`, and the `thumbnail` URL with the appropriate values for the book.
- Replace `12345` with the actual book ID you want to delete.
---
## Website π
## License Β©οΈ
This project is licensed under the [MIT License](LICENSE).
## Contributing to Our Project π€
We welcome contributions to improve the project! Please review our [Contribution Guidelines](CONTRIBUTING) before submitting a pull request.
## Contact Information
For any questions, please reach out via hello@darsan.in or [LinkedIn](https://www.linkedin.com/in/darsan-in/).
---
---
#### Topics
- book-listing
- react-app
- node-backend
- mongodb
- real-time
- free-hosting