BookWis is a web application that allows users to search and explore books using the Google Books API. Users can sign up, log in, and perform searches for books based on their interests. The application provides a user-friendly interface to view search results, explore book details, and manage user profiles.
- User Authentication: Users can sign up, log in, and log out to manage their search history and preferences.
- Search Books: Users can search for books based on different criteria using the Google Books API.
- User Profile: Each user has a profile page displaying their search history.
- Profile Editing: Users can edit their profiles, including updating their usernames, emails, and passwords.
- Profile Picture: Users can upload and update their profile pictures.
- Delete Account: Users have the option to delete their accounts.
These instructions will help you set up the BookWis app on your local machine.
Before running the application, make sure you have the following dependencies installed:
-
Clone the repository:
git clone
-
Navigate to the project directory:
cd bookwis-app
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Create a PostgreSQL database:
createdb bookwis
-
Set environment variables:
export DATABASE_URL="postgresql:///bookwis" export SECRET_KEY="your-secret-key" export GOOGLE_BOOKS_API_KEY="your-google-books-api-key"
Replace
your-secret-key
andyour-google-books-api-key
with your preferred secret key and a valid Google Books API key.
Run the application:
python app.py
Visit http://localhost:5000/ in your web browser to access the BookWis app.
- /signup: User registration page.
- /login: User login page.
- /logout: Logout the current user.
- /search: Perform book searches.
- /results: Display search results.
- /profile: User profile page.
- /profile/edit: Edit user profile.
- /profile/photo: Update user profile picture.
- /profile/delete: Delete user account.
- /author/: Display details of an author and their books.
- /books/<volume_id>: Display details of a specific book.
Contributions are welcome! Feel free to open issues or pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
Samuel Abinsinguza
Bookwis - Explore, Connect, Read! Bookwis - Your Next Book Adventure Starts Here! Bookwis - Because every book has a story worth sharing!