Skip to content

monisax92/bookebook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 BookEBook

BookEBook is a simple e-commerce-style app for browsing and purchasing computer science e-books. It showcases featured books, supports cart and order flow, and includes a product search with filters. The goal is to demonstrate a clean and functional online bookstore MVP.

🔗 Live: https://bookebook.netlify.app


🧩 Features

  • 🖼️ Browse featured e-books or the full catalog
  • 📖 View product details (title, image, rating, tags like "Best Seller" or "Out of Stock")
  • ⭐ Visual 5-star rating (read-only, based on product data)
  • 🛒 Add and remove books from cart (from both list and product page)
  • 🧾 Cart view with total price and "Place Order" functionality
  • 👤 Guest login option for easy demo access
  • 🔍 Filter books by:
    • Price (low → high / high → low)
    • Minimum rating (1–4 stars)
    • Best sellers only
    • In-stock only
  • 🌗 Toggle between light and dark mode
  • 🔐 Orders saved in dashboard (after placing order via popup form)

⚠️ Known Bug: On the product listing page, you can add unavailable (out-of-stock) products to the cart. This is blocked correctly on the product detail page.


🛠️ Tech Stack

  • ⚛️ React (via Create React App)
  • 🎨 Tailwind CSS for styling
  • 🔗 React Router for navigation
  • 🔐 Login system with optional guest access
  • 🔁 React Toastify for notifications
  • 🚀 Backend hosted with JSON Server + json-server-auth

📦 Installation (for development)

You only need this section if you're cloning the project and running it locally.

1. Clone the repository:

git clone https://github.com/your-username/bookebook.git
cd bookebook

2. Install dependencies:

npm install

3. Create a .env file and add the following:

REACT_APP_HOST=your_backend_url_here
REACT_APP_GUEST_LOGIN_EMAIL=guest_email_here
REACT_APP_GUEST_LOGIN_PASSWORD=guest_password_here

If you're using the provided backend or running the included server locally, you can use these defaults:

REACT_APP_HOST=http://localhost:8080
REACT_APP_GUEST_LOGIN_EMAIL=test@gmail.com
REACT_APP_GUEST_LOGIN_PASSWORD=123123123

4. Start development server:

npm start

🌐 Deployment

Frontend: https://bookebook.netlify.app
Backend: https://bookebook-server.onrender.com


🔭 Future Improvements

Short-Term Goals:

  • ✅ Disable "Add to Cart" for out-of-stock items on all views
  • ✅ Add toast notifications for cart actions (added, removed, error)
  • ✅ Allow switching between grid/list view for products
  • ✅ Add loading spinners for slow backend responses (e.g. initial app load or product fetch)

Long-Term Plans:

  • 🗣️ Add product reviews and user-generated ratings
  • 🧠 Personalized book recommendations (based on purchases or categories)
  • 💳 Integrate real payment gateway (Stripe/PayPal) instead of mock form
  • 📊 Admin dashboard for managing products, tags, and stock
  • 🧾 Expand order history view with collapsible invoice details (individual prices, order date/time, payment method, etc.)

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published