Repository navigation
Deliverable 1
The purpose of the system is to create a website where the users can find quickly and easy recommendations about books. The platform delivers to the users customized recommendations according to the user’s preferences. ClickBook wants help the good reading trackers
ClickBook has two “Must be” products, those are:
A form where the users fill with their preferences and disfavors. This form is going to generate the prompt of the second product
An IA that it generates the recommendations based on the prompt generated by the form
ClickBook sets off these products to establish the goal of a website that it can be effective in the recommendations and friendly with the users.
ClickBook is an independent system. It will be design to give customized recommendations about the books to users, it is based in their preferences. It is not part of a big system, in the future it could be integrated with platforms such as Google reads, Amazon Book or Google Books.
The main functions of ClickBook are:
-
Intuitive preferences form
-
Pre-established answers to generate a good prompt
-
Recommendations based in the form by AI
Our intended group of users are people who are looking for improve their experience with the reading. Those people consider the web platform as an opportunity to find quickly recommendations. But they need the customized attendance too. That needing can be delivered by an AI
-
We are going to develop in Django. It help us build a data base and with Bootstrap we can develop the front-end
-
ClickBook must not sell books or to store without the authorizations
-
ClickBook don’t require special hardware, just an update browser
-
ClickBook will had 98% availability
- Django: A high-level Python web framework that simplifies web development by providing built-in features like authentication, database management, and security.
- Bootstrap: A front-end framework that helps developers create responsive and visually appealing websites using pre-designed CSS and JavaScript components.
- Database: A structured collection of data that allows efficient storage, retrieval, and management of information, often used in web applications.
- User Interface: The visual and interactive elements of a system that allow users to interact with a website or application, including buttons, menus, and forms.
- Artificial intellingence AI:The field of computer science that enables machines to simulate human intelligence, including learning, reasoning, problem-solving, and decision-making. AI is used in applications such as chatbots, recommendation systems, and autonomous vehicles.
Initially, the following external integrations are planned for ClickBook, which are aimed at allowing the user interested in a specific reading section to make the best decision based on his or her tastes and thus discover books that he or she would never have considered reading.
OpenAI API: it will be useful to analyze the answers of the preferences form and generate personalized recommendations for the user.
URL: https://platform.openai.com/docs/overview
Google Books Api: will be useful for detailed information about the books (title, synopsis, author, genre, availability in stores and libraries, among others).
URL: https://developers.google.com/books/docs/overview?hl=es-419
Google Translate Widget: will be useful for the user to select the language he/she feels more comfortable with when interacting on the web page.
URL: https://cloud.google.com/translate
OneSignal: will be useful to send notifications to users about new books they may be interested in.
URL: https://onesignal.com/
User Preferences Form
RF1: While a user is in the preferences form the system shall allow them to select one or more genres of their interest.
RF2: While a user is in the preferences form the system shall allow them to type in the authors they would like to read.
RF3: While a user is in the preferences form the system shall allow them to indicate whether they prefer short or long reading.
RF4: While a user is in the preferences form the system shall allow them to enter which books they have previously enjoyed within the selected genres.
RF5: While a user is in the preferences form the system shall allow them to indicate whether they prefer classic or contemporary narrative.
Generation and Visualization of Recommendations
RF6: ClickBook SHALL generate a list of recommendations based on the responses to the preferences form.
RF7: The system shall display basic info about the recommendations.
RF8: The system could display the disponibility of books in near shops.
RF9: If the user wants new recommendations, then the system shall offer the possibility to answer the form again.
RF10: ClickBook should provide the user with the ability to search for books through a search bar and display relevant information about them.
Interaction and Recommendation Management
RF11: ClickBook should provide the user with the ability to rate the recommendations received by the IA.
RF12: ClickBook SHOULD provide the user with the ability to write comments and reviews about the books.
RF13: ClickBook could provide the user with the ability to save recommended books to a favorites list.
RF14: ClickBook could provide the user with the ability to mark recommended books as “to be read” or “read”.
RF15: The system should have a history about the recommendations.
Configuration and Sharing
RF16: ClickBook should provide the user with the ability to enable the activation of notifications about suggested books of interest.
RF17: ClickBook could provide the user the ability to share the list of recommendations via link.
RF18: If the user is logged in, then ClickBook SHALL provide the ability to select the language in which they wish to navigate the platform.
Authentication and User Management
RF19: ClickBook should register the user using data such as e-mail address, username and password.
RF20: If the user has registered, then ClickBooks should provide the user with the ability to log in with email and password.
RF21: If the user forgets his password, then the system should allow to recover the password via e-mail.
-
The preferences form of the website SHALL be clear, intuitive and free of ambiguities, so that users do not generate any confusion.
-
The website SHALL generate recommendations in less than 5 seconds after submitting the form.
-
The website COULD show an immediate confirmation when the user performs an action (save a book in favorites, mark it as read, activate notifications, among others).
-
The website SHALL have consistent buttons, colors and sizes to ensure a uniform visual format.
-
The website SHOULD automatically save the preferences form data if the user closes it before completing it, avoiding the loss of information.
-
The website SHOULD be available at least 98% of the time during the user's user interaction with the platform.
-
The website SHALL update the interface in less than 1.5 seconds when the user changes the language, ensuring smooth and fast interaction.
-
The website SHOULD ensure that the AI processes up to 100 recommendation requests per day, without affecting its performance.
-
The website SHOULD display the recommendation history with up to 80 books stored in less than 2 seconds.
-
The website SHALL load book cover images in less than 1 second.
-
The database SHALL record user preferences, including favorite genres, favorite authors, books read, and reading length preferences.
-
The relationship between account and notifications SHALL be 1 to N, allowing an account to receive multiple notifications, but each notification shall belong to only one account.
-
The database SHOULD allow users' preferences to be updated in real time.
-
The relationship between form and book recommendations (IA) SHALL be 1 to N, ensuring that a form has multiple recommended books, but each recommendation belongs to only one form.
-
The database SHOULD avoid duplication of user ratings on the same book.
ClikcBook is subject to several constraints that influence its development, which are:
° The website must be implemented in Django and Bootstrap.
° The website must be responsive, providing an optimal user experience.
° The computers and technological resources of the project members may limit the processing capacity and network connection.
° The web page will show a maximum of 10 books in the automatic recommendations of the AI, protecting the performance of this.
° The preference form shall not exceed 10 questions, in order to avoid overload and provide practicality to the user.
° The time and current knowledge of the project members may affect an advanced development in ClickBook.