Project Overview

A book-review platflorm designed for readers and authors! Backed by a SQL database, information on multiple books, users, reviews, and more are stored. This application allows for books to be reviewed on its plot, characters, storyline, setting, and so much more!

This was an individual project for my Databases and Files class of Spring 2023. The goal of the project was to develop a SQL database capable of adding, editing, deleting, and querying data to further understand Entity/Relationship Models, normal forms, and developing in SQL language. From there, a Java application was developed that handled all user interaction once integrated with the database.

All documentation can be found in the GitHub repository.

The Program

A Java program was developed to handle all user interaction with the database. Authors and readers have their own profiles within the program. Depending on the role of the user, they are given different functionalities. Authors can add, delete, or edit books within the database as well as see reviews for the books they have entered. Readers can search for books, give them a reading status, and review the books to look back on later.

The Database

A SQL database is the driving force behind Book Nook! It stores all of the information for the program. Information stored in the database can be recalled for searching, updating of all information, and seeing reviews. Through interaction with the Java program, users can also create new entries or delete entries within the database. All of the schemas within the database were analyzed to ensure that they meet 3rd Normal Form.

Skills Learned
Below are the skills I learned or developed upon during the course of this project.

Programming Languages

Java, SQL

IDE Software

IntelliJ, DBeaver

Git Software

GitHub

General Features
These are features shared by both authors and readers.

Creating an Account

Upon opening Book Nook, all users will be taken to the login in page. From there, there are just six simple steps to create an account.

  1. Click the Click here to create a new user button.
  2. Enter your preferred name.
  3. Enter a username.
  4. Enter a password.
  5. Click the Create User! button.

You will be taken back to the login screen and a pop-up will inform you that your account was successfully created and to log in.

If you enter a username that is already in use by someone of your selected role, you will recieve a pop-up informing you that the username is taken and to try a different one.

Logging In

Once you have a Book Nook account, simply type in your username and password and click Login! You will be brought to your homepage.

If you enter incorrect information, whether it be username or password, you will recieve a pop-up informing you that something was incorrect and to try again.

Updating Account

If you want to update any of your account information, click the Settings tab on the menu bar at the top of the screen and press Update Profile. A popup will display with your current account information prefilled in the corresponding text fields, change any information you please and click Update Profile.

Deleting an Account

If you want to delete your profile all together, click the Settings tab on the menu bar at the top of the screen and press Delete Profile. A popup will display to confirm that you want to delete your profile.

  • To return to your homescreen without deleting your profile, click Keep Profile.
  • To delete your profile, click Delete Profile.

For author users, when a profile is deleted, any books that they have entered into the database remain in the database. This is also stated in a special message on their confirmation popup.

Logging Out

To log out of your account and return to the sign in screen, click the Logout tab on the menu bar on the top of the screen and press Logout.

Author Features
These features are specific to author users.

Creating a Book

To create a book entry in the database, click the Books tab on the menu bar at the top of the screen and press Create Book. Fill out the form with the appropriate information and select Create Book.

Updating a Book

To update a book entry within the database, click the Books tab on the menu bar at the top of the screen and press Update Book. A popup will display asking for the ISBN of the book you would like to update. Enter the ISBN number and press Update.

A form will display with the book details prefilled in their respective fields. Update any information and press Update Book.

Deleting a Book

To update a book entry within the database, click the Books tab on the menu bar at the top of the screen and press Delete Book. A popup will display asking for the ISBN of the book you would like to delete. Enter the ISBN number and press Delete.

Seeing Book Reviews

To see reviews for a book, click the Reviews tab on the menu bar at the top of the screen and press See Reviews. Select the correct book from the dropdown menu and click See Reviews. Graphs of the different categories will appear.

Returning to the Author Homescreen

To return to the author homescreen, click the Logout tab on the menu bar at the top of the screen and press Back to Home.

Reader Features
These features are specific to reader users.

Searching Books

To search for aa particular book within the database, click the Books tab on the menu bar at the top of the screen and press Search Books. In the search bar, type in keywords about the book's title, author, or series and press Search.

Read Books

To see the books marked as Read, also the reader's homescreen, click the Books tab on the menu bar at the top of the screen and press Read Books.

Currently Reading Books

To see the books marked as Currently Reading, click the Books tab on the menu bar at the top of the screen and press Currently Reading.

TBR Books

To see the books marked as To Be Read, click the Books tab on the menu bar at the top of the screen and press TBR.

Creating a Review

Once a book is marked as Read (see Reading Statuses), a new screen will appear allowing you to create a review. Fill in the fields with the appropriate information then click Done!.

Note: Only numerical reviews will be taken into consideration for review breakdowns for both authors and readers.

Updating a Review

To update a review, click the Reviews tab on the menu bar at the top of the screen and press Update Review. A popup will display asking for the ISBN of the book review to update. Enter the ISBN number and then click Update. A form will display with the fields prefilled with the review's information stored in the database. Update any information necessary and click Done!.

Deleting a Review

To delete a review, click the Reviews tab on the menu bar at the top of the screen and press Delete Review. A popup will display asking for the ISBN of the book review to delete. Enter the ISBN number and then click Delete.

Seeing Reviews

To see reviews for a certain time range, click the Reviews tab on the menu bar at the top of the screen and select See Reviews. Enter a beginning and ending date for the range and select Get Review Breakdown. Graphs of your reviews made between the given range will appear on the screen.

Reading Statuses

To initially set a reading status for a book, first search for the book within the database (see Searching Books). Once you find the book you are looking for, click Select Reading Status. A popup will display asking for the book whose reading status you would like to set, which should prefill with the selected book's ISBN. A dropdown menu and three buttons will appear. Select the proper reading status from the dropdown menu and click Set Reading Status.

To edit a reading status for a book, first search for the book within the database (see Searching Books). Once you find the book you are looking for, click Select Reading Status. A popup will display asking for the book whose reading status you would like to set, which should prefill with the selected book's ISBN. A dropdown menu prefilled with the book's current reading status and three buttons will appear. Select the proper reading status from the dropdown menu and click Edit Reading Status.

To delete a reading status for a book, first search for the book within the database (see Searching Books). Once you find the book you are looking for, click Select Reading Status. A popup will display asking for the book whose reading status you would like to set, which should prefill with the selected book's ISBN. A dropdown menu prefilled with the book's current reading status and three buttons will appear. Select the proper reading status from the dropdown menu and click Delete Status.

Return to the Reader Homescreen

To return to the reader homescreen, click the Books tab on the menu bar at the top of the screen and press Read Books.