A frontend coffee shop website built with HTML, CSS, and JavaScript.
This project includes a complete user journey:
- Landing page
- Login / signup
- Product discovery
- Product details + add to cart
- Cart management with quantity controls
- Payment method selection
- Method-specific checkout pages
- About / contact / feedback section
- Responsive UI across major pages
- Animated interactions powered by GSAP (loaded dynamically)
- Product carousel with live product detail updates
- Cart persistence using browser
localStorage - Shipping address persistence across checkout pages
- Multiple payment options:
- GPay
- PhonePe
- Card
- Internet Banking
- Star-based feedback interaction on About page
- HTML5
- CSS3
- JavaScript (Vanilla)
- Google Fonts
- GSAP (CDN-loaded at runtime)
webzone/
βββ index.html # Landing page
βββ auth.html # Login / signup page
βββ success.html # Signup success page
βββ products.html # Product listing and latest arrivals
βββ product-details.html # Product carousel + buy/add-to-cart
βββ product-details.js # Product data + cart add logic
βββ product-details.css # Styling for product details page
βββ cart.html # Cart page with quantity + total + shipping
βββ payment.html # Payment method chooser
βββ gpay.html # GPay payment view
βββ phonepe.html # PhonePe payment view
βββ card-payment.html # Card payment view
βββ internet-banking.html # Internet banking payment view
βββ about.html # About + contact + rating + feedback
βββ style.css # Shared styles (landing/auth and common)
βββ products.css # Additional products styles (if used)
βββ script.js # Shared animation and interaction logic
Note: The pages reference multiple image files (e.g.,
image copy 7.png,image copy 11.png, QR image, etc.). Keep all referenced images in the same directory or update paths.
Because this is a static frontend project, no build step is required.
- Open
index.htmlin your browser.
Using VS Code Live Server or any static server gives better consistency.
Example with Python:
python -m http.server 5500Then open:
http://localhost:5500/index.html
- Home (
index.html) β click start/login - Auth (
auth.html) β Sign up - Success (
success.html) β Continue - Products (
products.html) β open best collections - Product Details (
product-details.html) β add item to cart - Cart (
cart.html) β adjust quantity + add shipping address - Payment Selection (
payment.html) β choose method - Payment Method Page (
gpay.html,phonepe.html,card-payment.html,internet-banking.html) - Continue shopping, logout, or share feedback
The application stores state in the browser using:
-
awebzoneCart- Array of cart items with:
idnamedescriptionpriceimageqty
- Array of cart items with:
-
awebzoneShippingAddress- String shipping address entered on cart page
To reset app state, clear these keys from browser storage.
- Brand hero section and entry point to login/signup.
- Login/signup UI (demo flow) with redirect to success page.
- Visual success confirmation and route into products.
- Hero with product cards and latest arrivals section.
- Radio-based product carousel.
- Product name/price/description update based on selected item.
- Add-to-cart logic with quantity merge if same product exists.
- Renders cart from storage.
- Quantity increment/decrement.
- Remove item.
- Live total calculation.
- Shipping address auto-save and reuse.
- Payment method chooser page with navigation to specific method pages.
gpay.htmlphonepe.htmlcard-payment.htmlinternet-banking.html
All these pages:
- Display stored shipping address.
- Offer continue shopping, logout, and feedback actions.
- About section content.
- Contact fields.
- Clickable star rating.
- Feedback textarea and submit alert.
- Authentication is UI-only (no backend validation).
- Payments are simulation pages (no real payment gateway integration).
- Total amount shown on method pages is currently static text (
1234) and not synced from cart total. - Form submissions (contact/feedback) are not persisted to backend.
- Integrate backend for auth and session handling.
- Persist orders and payment status.
- Pass dynamic cart total to all payment method pages.
- Add form validation for contact and signup fields.
- Add toast notifications instead of
alertfor better UX. - Add tests for core cart and product logic.
- Designed as a beginner-friendly static ecommerce-style demo.
- Easy to customize colors, content, and product data.
- Best suited for portfolio/demo usage and frontend learning.
No explicit license file is currently included.
If you plan to share or publish this project, add a LICENSE file (for example MIT).