About This Project

Your go-to platform for personalized book recommendations based on your preferences!

Project Overview

This project is a book review and recommendation platform, allowing users to create accounts, review books, and receive personalized book recommendations. It combines user engagement with data-driven recommendation techniques to create a unique user experience.

Project Goals

Development Steps

1. Setting Up the Development Environment

The project was developed on an Ubuntu server hosted on AWS, setting up Node.js, MySQL, and other necessary packages for server-side functionality and the database.

2. Designing the Database Schema

The database was created with tables for storing user information, book details, and user reviews. Key tables include:

3. Implementing User Authentication

User authentication was implemented using sessions to ensure secure access to the platform, including login, registration, and session management to keep users logged in across requests.

4. Creating APIs for Book and Review Management

RESTful APIs were built using Express.js for handling book data and user reviews. Routes were created for submitting reviews, retrieving book data, and accessing user-specific content.

5. Developing the Recommendation System

The recommendation system uses collaborative filtering and the KNN algorithm to suggest books based on user ratings by:

6. Integrating the Google Books API

To enrich book information, the Google Books API was integrated. When users click on book titles, detailed information is retrieved and displayed, with an option to submit reviews.

7. Designing the Front-End Interface

HTML, CSS, and JavaScript were used to create a user-friendly front end, including main pages such as the login page, user dashboard, and review submission page.

8. Testing and Deployment

After development, the project was tested to ensure all features work as expected. Finally, it was deployed for users online.

Thank you for exploring my project!