Welcome to the Book Review Application! π This app allows users to browse a collection of books, view their details, add reviews, and more! π
- Create APIs and perform CRUD operations on an Express server using Session & JWT authentication.
- Use Async/Await or Promises with Axios in Node.js.
- Create REST API endpoints and test them using Postman.
The Book Review Application is a web app that allows users to:
- Browse a list of books π
- Search for books by title, author, or ISBN π
- Add reviews for books π
- Manage user accounts (register, login, etc.) π
- User Registration & Authentication: Secure user registration and login with JWT authentication.
- Book Reviews: Users can add, edit, or delete their reviews for books.
- Search: Find books by title, author, or ISBN.
- Responsive UI: Mobile-friendly design for a seamless experience on any device. π±
- Node.js: Backend server using Express.js.
- Express: Web framework for building the API.
- JWT: JSON Web Tokens for user authentication and session management π.
- MongoDB: Database for storing user and book data (if needed).
- Axios: For handling HTTP requests.
Follow these steps to get the project up and running locally:
-
Clone the Repository:
git clone https://github.com/your-username/book-review-app.git
-
Navigate to the Project Directory:
cd book-review-app
-
Install Dependencies:
npm install
-
Start the Server:
npm start
-
Visit http://localhost:5000 in your browser to start using the app!
-
Get all books:
GET /
- Returns a list of all books in the store.
-
Get book by ISBN:
GET /isbn/:isbn
- Get details of a specific book by its ISBN.
-
Get books by author:
GET /author/:author
- Get books by a specific author.
-
Get books by title:
GET /title/:title
- Get books matching a specific title.
-
Get book reviews:
GET /review/:isbn
- Get reviews for a book using its ISBN.
-
User Registration:
POST /customer/register
- Register a new user with a username and password.
-
User Login:
POST /customer/login
- Login with an existing username and password, receive a JWT token.
-
Add or Modify Book Review:
PUT /auth/review/:isbn
- Add or update a review for a book by ISBN.
-
Delete Book Review:
DELETE /auth/review/:isbn
- Delete a review for a book by ISBN.
- Register: Create an account by sending a
POST
request to/customer/register
with your username and password in the request body. - Login: After registering, log in by sending a
POST
request to/customer/login
with your username and password. Youβll receive a JWT token that will be used for authentication in subsequent requests. - Add Review: Once logged in, you can add reviews for books by sending a
PUT
request to/auth/review/:isbn
with your review in the body. - View Reviews: You can view reviews for a specific book by sending a
GET
request to/review/:isbn
.
- Willie Conway - Developer and Maintainer.
This project is licensed under the MIT License - see the LICENSE file for details.