Skip to content

AdityaRaj-007/Bookify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bookify

Bookify is a platform to provide immersive reading experience with ebooks. It has been built as the solution to Microsoft Engage Recommendation Engine Challenge 2022.

Test credentials used in demo : Test email: [email protected]

Test password: 123456

📌 Table of Contents

🚀 Features

  • Search Recommendations
  • User based recommendations
  • Signing In using email/password method.
  • Favorites list of books
  • Add more features...

💻 Tech Stack Used/ Dependencies

Flutter : Front-end framework for building user interfaces or UI components.

Firebase : Google-backed application development software. Specifically used here for user authentication

Python : Various libraries of python like vectorizer library for building the recommendation algorithm.

Flask : Micro web framework. Used for making API to transfer data between the frontend and backend

📖 Usage guide/ Application flow

Installation :

  • Clone the repo on to the local machine.
  • Open Bookify/bookify in android studio.
  • Run main.dart in emulator / device.

Sign Up Page

Enter all the fields for successful sign up. Make sure the password strength is strong. It requires a minimum of 6 characters

WhatsApp Image 2022-05-31 at 12 47 28 AM

Login Page

You can sign in using the email/password you used to sign yourself up previously.

WhatsApp Image 2022-05-31 at 12 47 28 AM(1)

After entering your email/password, pressing login and a successfull sign in, you will be directed to the Bookify app.

Post-Login HomePage

The default homepage appears as follows. It contains recomendations for user based on his/her favorites

WhatsApp Image 2022-05-31 at 12 47 28 AM(2)

Favorites Page

The following is the favorites page which shows list of books added to favorites

WhatsApp Image 2022-05-31 at 12 47 28 AM(3)

Explore Page

Search results for any search query is displayed here. The results are displayed even if there is small error in search query.

WhatsApp Image 2022-05-31 at 12 48 43 AM

Profile Page

The Profile Page displays some statistics and has the logout button for signing out of the page.

WhatsApp Image 2022-05-31 at 12 47 28 AM(4)

💡 Challenges faced and learnings

  • I had zero knowledge on Machine Learning Algorithms. Spent major time on learning basic ML concepts and learning how to implement them until I understood how recommender systems work and how to implement them
  • I had very basic knowledge about flutter before the program. Spent time on learning application architecture and state management through different methods and also small animations to make the UI better
  • I had never implemented any third party services before. Learnt how to use firebase for authentication service
  • I had no idea about dex limits on dependencies and therefore could not use cloud firestore service. This resulted in the app on missing out major features
  • Deployed a full stack app with frontend, backend and database for the first time. Struggled through it but documentations and tutorials came to the rescue as always.
  • Learnt about AGILE framework of development.

🚧 Future Scope/ What's next?

  • Dark theme toggler.
  • Password resetting and email verification on sign up.
  • More specific details for user and user model
  • Implementing genre specific recommendation
  • Rating feature for books
  • Freemium business model for premium content

🐛 Bug Reporting

Feel free to open an issue on GitHub if you find bugs.

⭐ Feature Request

  • Feel free to open an issue on GitHub to add any additional features you feel could enhance this project.
  • You can also discuss and provide suggestions to me on LinkedIn.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 49.6%
  • Jupyter Notebook 46.8%
  • Python 3.1%
  • Swift 0.4%
  • Kotlin 0.1%
  • Objective-C 0.0%