In this project, we designed a database in MySQL and developt a web application in PHP Laravel, ‘Bookworms’ like the website ‘Goodreads’(https://www.goodreads.com/). Similar to Goodreads, in Bookworms, users are able to keep track of their books and authors, add and discuss books with other users, see quotes from authors, know about publishers of books and the addresses of their stores and publishing houses, become friends with other users and also can see other users’ books, authors, discussion, posts, comments. In Bookworms, there are also admins who are capable of actions which normal users are not able to do like deleting or updating discussions, posts, informations of book stores and publishing houses of publishers, quotes from authors.
There are two types of user in Bookworms, one is ordinary user and the other one is admin.
- log into Bookworms and log out from it.
- list all books and authors they have read and are reading currently in their profile.
- list all their friends and remove them in their profile.
- remove their friends and books they have read in their profile.(it’s not necessary to remove authors in their profile because authors are automatically added and deleted based on books they read)
- send friend requests to users and see requests which has been sent to them, and they can accept or decline these request except for sending these request to admins but they can get friend requests from admins.
- list all statistics information about their friends, book and authors like how many books and authors they have read, how many friends they have, what’s the biggest and smallest book they have read, when did they started to read their first book and last book.
- send and receive messages from their friends.
- see quotes from authors and also add quotes of authors which they want.
- start discussions, create posts in discussions and add comments to these posts and delete their own discussions and posts and comments. When users delete a post all comments under the posts are automatically deleted and when they delete a discussions they started all the posts and all the comments under those posts are deleted automatically.
- see all publishers of books and stores of these publishers.
- add books and authors to the database.
- see other users’ last 10 actions in the dashboard panel.
- send friend requests both to normal users and to admins.
- delete any discussions that are started by users, any posts under all discussions and any comments under all posts.
- see printing houses of publishers, delete and update them.(this are just shown to admin just in case the website can be connection between courier companies and publishers if they both have an agreement)
- add, delete and update information of publishers and information of stores of these publishers.
Figure 1
As you can see in the Figure 1, users can see their information, the books they have read, when they started to read, when they finished reading(if they finished).And they can also remove any book they have read or edit the date of starting of the date of finishing books.
Users can list the statistics like the number of their friends, the number of books they have read, the number of author they have read, the date of starting to read their first book, the date of starting to read their last book, average length of books they have read, the biggest book length, and the smallest book length.
Figure 2
Users can lists the authors they have read, they are not able to delete the authors they have read because these authors are automatically listed when they add books to their libraries and automatically deleted when they remove books from their libraries in their profile page.
They also can list their friends and their information, they also can remove friend in this profile page. When they remove friends of theirs, the user automatically removed from the friend lists of corresponding users.
Figure 3
As you can see in the Figure 3, users can send messages to their friend and receive messages from them in the messaging page. These messages ordered by date, and the date of message are listed below these messages.
Figure 4
As you can see in the Figure 4, users can send friend request to other users and see friends requests has been sent to them. They can accept or decline these friend requests. While users can send friend requests only to other users, admins can send these requests to all users and admins.
Figure 5
Figure 6
Figure 7
As you can see in the Figure 7, users can add posts under discussions and see other users’ posts. They are able to remove the posts of their own while admins can remove any posts in this Post Page. They can use the ‘Back’ button to return to Discussion Page.
Figure 8
As you can see in the Figure 8, users can add comments to posts and also remove the comments of their own while admins can remove any comments in the Comment Page. They can use the ‘Back’ button to return to recent Post Page.
Figure 9
As you can see in the Figure 9, users can see quotes from authors and add quotes from authors yet just admins are able to delete these quotes.
Figure 10
Figure 11
As you can see in the Figure 11, users can see the information of publisher in Publisher Page. But they are just able to see the information while admin can add, delete and update the information of publishers.
Figure 12
As you can see in the Figure 12, users are able to see the information of stores of publishers in the Store Page but they cannot add any store while admins can add, delete or update any store.
Figure 13
Figure 14