A responsive, modular multi-page website built with Vanilla JS, Webpack, and SASS, featuring dynamic UI rendering from JSON data.
- HTML5 & Vanilla JavaScript — Semantic markup and modular script logic based on a Feature-Based architecture.
- SASS (SCSS) — Structured styling using the 7-1 Pattern (abstracts, base, components, layout, pages).
- Webpack 5 — Custom build setup handling module bundling, local development server, SASS compilation, CSS extraction, and HTML generation.
- Asset Optimization — Integrated
image-minimizer-webpack-pluginusingmozjpeg,optipng, andpngquantto compress images on production builds. - Responsive Layout — Adaptive scaling for Desktop (1440px), Tablet (768px), and Mobile (380px) viewports with zero horizontal scroll.
- Multi-page setup: Separate configurations for the Home and Menu pages.
-
Burger Menu: Smooth navigation drawer triggering on viewports
$\le$ 768px.
- Custom Carousel: Pure JavaScript slider with manual controls.
- Video Background: High-quality video assets rendered natively in promotional blocks.
- Category Filtering: Tab switching (Coffee, Tea, Desserts) without reloading the page.
- "Load More" Pagination: Displays 4 items by default and appends remaining cards dynamically on click.
- Dynamic Modals: Product blocks generated programmatically using a local dataset; clicking cards triggers popups populated via a JSON file.
- Clone the repository:
git clone https://github.com/Gary217/coffee-house.git
- Navigate to the project folder:
cd .\coffee-house\
- Install dependencies:
npm install
- Start the development server (Webpack Dev Server):
npm start
- Build the project for production:
npm run build
- Deploy directly to GitHub Pages:
npm run deploy