Welcome to the IBM Project Online Book Review - BackEnd App, a project developed as part of the IBM Course "Developing Back-End Apps with Node.js and Express." This application provides a RESTful API for book enthusiasts, enabling them to manage books, share reviews, and interact seamlessly with book-related data. The application is built using Node.js, Express.js, and MySQL with Sequelize.js as the ORM.
The Online Book Review Server-Side Application allows users to:
- Register and manage their accounts.
- Add, update, and delete books from the collection.
- Write, edit, delete, and read reviews for books.
Whether you are an avid reader looking to share your insights or a developer exploring the power of back-end development with Node.js and Express, this application offers a structured and robust foundation.
Before running the application, ensure you have the following installed on your system:
- Node.js: Download it from nodejs.org.
- MySQL: Download MySQL from mysql.com and make sure it is running.
Follow these steps to set up and run the application:
git clone https://github.com/SalmanIyad/Online-Book-Review
cd Online-Book-Review
Using Bun (your chosen package manager), install the project dependencies:
bun install
- Create a new MySQL database named
book_reviews
or use your preferred name. - Open the
.env
file in your project folder and configure it with your MySQL credentials:PORT=3000 DATABASE_NAME=book_reviews DATABASE_USERNAME=your_mysql_username DATABASE_PASSWORD=your_mysql_password DATABASE_HOST=localhost SALT_ROUNDS=10 TOKEN_SECRET_KEY=your_strong_secret_key
To run the server, use:
bun run start
or, for automatic server restarts during development, use:
bun run dev
For a complete guide on using the API, visit our detailed API Documentation.
- User Management: Easily register, log in, and manage your user account.
- Book Management: Add new books, update existing ones, delete books, and browse the complete collection.
- Review Management: Write detailed reviews, edit or delete your reviews, and read reviews from other users.
- Node.js: High-performance JavaScript runtime environment.
- Express.js: Minimalist and powerful web framework for Node.js.
- MySQL: Reliable and efficient relational database management system.
- Sequelize.js: A promise-based ORM for Node.js, simplifying MySQL operations.
For questions, support, or to contribute to the project, please feel free to reach out:
- Email: [email protected]
- GitHub: SalmanIyad at GitHub
- LinkedIn: SalmanIyad at Linkedin
- Twitter: SalmanIyad at Twitter
Enjoy using the Online Book Review Server-Side Application, and feel free to contribute or provide feedback to help improve the project!