Introducing Read&Meet: Your Gateway to One-Time Book Club! Read&Meet is an app designed to empower book enthusiasts to connect, engage, and discuss their favorite books by scheduling meeting in preson or online.
- User:
Create new user and log in to be able to use this app fully! - Book Discussion Meetings:
Create and host book discussion meetings centered around your favorite books. Choose the date, time, and location for your meeting, record a video note for inviting more guests. - Meeting Discovery:
Browse a diverse range of upcoming book discussion meetings created by fellow users for each possible book. - Book Selection:
Select your preferred choice of book for your meeting from an extensive library of titles. - Check reviews:
Take a look at what people are saying about each book right here on web-app. - Discussions:
Engage in lively discussions with participants about the chosen book. - Community Building:
Connect with like-minded individuals who share your passion for reading and book discussions. - Seamless User Experience:
Enjoy a user-friendly interface that makes creating and managing meetings a breeze.
Experience the joy of discussing your favorite books with others who share your enthusiasm. With Read&Meet, every book discussion becomes an opportunity for insightful conversations, new friendships, and unforgettable reading experiences. Join us today and let the world of books come alive like never before!
Python, JavaScript, HTML5, CSS3, Flask, SQLAlchemy, PostgreSQL, AJAX, Jinja2, React, Bootstrap, JSON, Pytest
Google Books API, Yelp API, MediaStream API, Selenium, AWS SDK
Reed&Meet is using a PostgreSQL database and SQLAlchemy as an ORM.
On the main page I implemented bootstrap carousel featuring popular books. This information was scraped from blog on GoodReads using Selenium.
Also I've implemented sign in and sign up methods. If input is not correct, error message is displayed.
I integrated Google books api for book search. List of results is shown after processing JSON response.
After selecting a book, a request is sent for fetching reviews from Goodreads using Selenium framework.
I created a form where users can schedule new meetings.
For meeting in person address is required. I integrated Yelp API to help search for a place using user's provided zipcode.
I implemented a Video Recorder using the MediaStream API for creating video notes.
Before submission, video is available for review or re-recording.
Different react components on the main page are interconnected and display meetings that users can join, drop from or cancel if already created.
They are dynamically updated upon receiving JSON success response from the server.
I implemented security methods to ensure that users won’t join same meetings twice.
Video note is also available for streaming on main page.
Notifications are displayed on top of the screen. Each message is independent and has its own timer set for 15 sec.
To run Read&Meet on your local computer, follow these steps:
Clone or fork this repo:
https://github.com/innasoboleva/Read-Meet.git
Create and activate a virtual environment inside your Read-Meet directory:
virtualenv env
source env/bin/activate
Install the dependencies:
pip install -r requirements.txt
Sign up to use Amazon S3, Yelp API, and Google Books API. Generate random secret key for Flask.
Save your API keys in a file called secrets.sh, using this format:
export BOOK_KEY="YOUR_GOOGLE_KEY_HERE"
export YELP_KEY="YOUR_YELP_KEY_HERE"
export FLASK_KEY="YOUR_FLASK_KEY_HERE"
export ACCESS_KEY="YOUR_AMAZON_KEY_HERE"
export ACCESS_KEY_ID="YOUR_AMAZON_ID_HERE"
Source your keys from your secrets.sh file into your virtual environment:
source secrets.sh
Set up the database:
createdb readmeet
python3 model.py
Run the app:
python3 server.py
You can now navigate to 'localhost:5000/' to access Read&Meet app.
Please, 👍 or ⭐ if it was helpful.







