Welcome to BookQuest, your personal book tracker and favorites list manager. BookQuest allows users to add books to their favorites collection, customize settings, and switch themes for a personalized experience. Users can sign up, log in, and manage their preferences securely.
-
Sign-up and login system: Users can sign up and log in securely to manage their account.
-
Add books to your favorites list: Keep track of the books you love or are interested in.
-
Theme Customization: Switch between light and dark themes to fit your style.
-
User Settings: Customize your preferences, including username and theme.
-
Quick Search: Easily find books using the Open Library API.
-
User-friendly interface: A clean, intuitive design to manage your favorite books.
-
Frontend: React, TypeScript
-
Backend: Open Library API (for fetching book data)
-
Authentication: Firebase (for user sign-up, login, and authorization)
-
State Management: React Hooks & Context Api
-
Build Tool: Vite
-
Styling: CSS (custom design)
To get started with BookQuest, follow these steps to run the app locally:
- Clone the repository:
git clone https://github.com/Charmingdc/BookQuest.git- Navigate into the project directory:
cd BookQuest- Install the required dependencies:
npm install- Set up Firebase:
Go to Firebase Console and create a new project.
-
Enable Firebase Authentication (email/password, Google, etc.).
-
Set up Firestore (optional for user settings).
-
Add your Firebase config to your appβs environment variables or directly into the firebase.ts file.
- Run the app:
npm run devYour app should now be running on http://localhost:5173.
After setting up and running the app locally:
-
Sign up or log in to create and access your account securely.
-
Search for books using the Open Library API.
-
Add books to your favorites list.
-
Change themes between light and dark modes from the settings.
-
Update your user settings (username, theme preferences).
Contributions are always welcome! If you'd like to contribute, please follow these steps:
-
Fork the repository.
-
Create a new branch (git checkout -b feature-name).
-
Make your changes and commit them (git commit -m 'Add feature').
-
Push the branch to your fork (git push origin feature-name).
-
Open a pull request to the main repository.
This project is licensed under the GNUP License - see the LICENSE file for details.