This is a REST API for managing books, users, and orders. It was built with Node.js, Express, and MongoDB, and provides endpoints for creating, updating, and deleting books and users, as well as placing orders.
- CRUD operations for books
- CRUD operations for users
- Ability to place orders
- Authentication using JWT
- Validation using Joi
- Password reset and email verification
- Node.js
- Express.js
- MongoDB
- JWT
- Joi
- GET /api/books - Get all books
- POST /api/books - Create a new book
- PATCH /api/books/:id - Update a book by ID
- DELETE /api/books/:id - Delete a book by ID
- GET /api/books/search - Search Books With Diffrent Parameter
- GET /api/books/user - Get Books With Specific User
- POST /api/users - Create a new user
- POST /api/users/login - Login with email and password<
- PATCH /api/users/profile - Update User
- DELETE /api/users/account - Delete a user
- GET /api/orders - Get all orders
- POST /api/orders - Place a new order
- PATCH /api/orders/:orderId - Update an order by ID
- DELETE /api/orders/:orderId - Delete an order by ID
- POST /api/auth/forgotpassword - Send a password reset email
- POST /api/auth/resetpassword/:token - Reset password with token
- POST /api/auth/verifyemail/:token - Verify email with token
This project is licensed under the MIT License - see the LICENSE file for details.