ReBook is a book recommendation website made with Python Flask. Our goal is to help everyone discover and explore new books in a fun and easy-to-use way.
ReBook makes personalized book recommendations for each user based on the user's profile and personal preferences. Users can search for books by author, genre or title, or simply browse our library of recommended titles. The site also allows users to post about their favorite book or the book they are reading while the can also follow a specific user post by following as and more.
We hope ReBook helps you find new books to love! Enjoy exploring our library of books and let us know what you think. Happy reading!
PROJECT PHILOSOPHY • INSPIRATION • TECH STACK • DEMO • SETUP • LICENSE
As avid readers and lifelong learners, we were constantly on the lookout for new and exciting books to add to our reading lists. However, we found it challenging to discover new titles beyond the bestseller lists and popular recommendations. That's when we had the idea to create a community where readers could share their favorite books and discover new ones through personalized recommendations.
ReBook is a webapp that connects readers from all over the world and allows them to share their reading interests and experiences.
By joining our community, you can discover new books through recommendations from like-minded readers, keep track of the books you've read and want to read, and even write reviews to help others in their reading journey. Read more about ReBook on the project homepage.
Here's a brief high-level overview of the tech stack ReBook uses:
-
This project uses the Flask web app development framework. Flask is a micro web framework written in Python.
-
For persistent storage (database), the app uses the SQLAlchemy, an open-source SQL toolkit and object-relational mapper for the Python programming language.
-
The ReBook Homepage is made by React and ThreeJS, a cross-browser JavaScript library and application programming interface used to create and display animated 3D computer graphics in a web browser using WebGL.
-
The website uses the font "Ailerons" as its main font, and the design of the app adheres to design guidelines.
./script.sh
In order to run the app your have create a google account and generate application password. It is used to send verification email to users.
Otherwise it generates error.
🔑 Steps to generate google gmail application password (Click to expand)
To generate a new password for an email program to access your Gmail account through IMAP or POP with two-step authentication enabled
Important! You will not see the password again, so type or paste the password into the email program immediately.
After getting your Application password run the following command by replacing [YOUR EMAIL] [YOUR APP PASSWORD]
by your email and app password you created, respectively.
./run.sh [YOUR EMAIL] [YOUR APP PASSWORD]
Your ReBook flask Application is Running on http://0.0.0.1:5001
Download Node.js. Run this followed commands:
# Install dependencies (only the first time)
npm install
# Run the local server at localhost:8080
npm run dev
# Build for production in the dist/ directory
npm run build
If you want to say thank you and/or support active development of the ReBook:
- Add a GitHub Star to the project!
- Tweet about the project on your Twitter!
- Tag @BisRyyy and/or
#ReBook
- Tag @BisRyyy and/or
- Leave us a review on our Email dev@bisrat.tech !
Thanks so much for your interest in growing the reach of the ReBook!
The ReBook is free and open-source software licensed under the GNU General Public License v3.0. All designs and implementations were created by Bisrat and Duresa and distributed under Creative Commons license (CC BY-SA 4.0 International).
© Made in Ethiopia by BisRy and Duresa for ALx Project.
A reader lives a thousand lives before he dies . . .
The man who never reads lives only one.
— George R.R. Martin