This project was made for the subject TDT4140 Programvareutvikling at NTNU Spring 2023.
Our task was to develop a site for books similar to what IMDB is for movies.
The product will offer a comprehensive overview of books, enabling users to search for books and access ratings and reviews for each title. Each book will have its dedicated page featuring a description of the book, its rating, and user reviews. Additionally, the service will provide a preview of upcoming book releases. What sets this service apart from Goodreads is its emphasis on professional book ratings and a reduced focus on social networking features. The ultimate goal is for this service to become a kind of "IMDB for books."
The requirements for the finished product were;
- It is important that people who visit the website have the opportunity to look up both books and authors.
- It must of course be possible to add new books to the website that have the same format as all other books, so that people can later click on the book and get information about it.
- It must be possible to bring up different views of top lists, which show a specified number books within each category. For example, top of the New York Times, top within a genre, top highest rating, top authors, etc.
- If you have logged in, you should be able to save books you want to read by putting them in custom lists, so that you can easily find them later. In a similar way, books that have been assessed should be easy to find, in that they is stored in a form of "have read" list.
- In addition, it is important to me that it is possible to delete assessments that I think are inappropriate, so that the platform is kept in high quality.
- I want the website to have a home page that can display news, top lists, favourites, what's coming soon, etc.
- You may only enter a rating and write reviews of books and authors if You are logged in to the page. It should also be possible to change them afterwards if they find out that they have written something wrong, or want to change the rating etc...
- When you are on the website, you should be able to browse books based on genre, author, year of publication, etc. Ie. that there must be some sort of filter function.
- The rating of a book should be based on the average of all ratings which users on the website have entered.
- Finally, I want to give advertisers the opportunity to advertise on the website, so this should be possible displayed to the users.
The professor made it clear that we were not going to meet all the requirements as we had limited time, but that we had to prioritize and adapt to new requirements along the way. We chose to prioritize what we think was most fundamental and critical for the product's functionality.