A dynamic, single-page restaurant website built entirely with JavaScript DOM manipulation and bundled using Webpack. This project focuses on the "Separation of Concerns" by modularizing UI components.
| Home | Menu |
|---|---|
![]() |
![]() |
| Contact | About |
![]() |
![]() |
Explore the Restaurant Menu Here
- Zero-HTML Content Rendering: The
index.htmlremains an empty skeleton; the entire UI—including the hero section, menus, and contact info—is generated dynamically via JavaScript. - Tabbed Navigation System: Implemented a seamless tab-switching logic that clears and re-renders the
#contentcontainer without a single page reload. - Modular Codebase: Each section (Home, Menu, About) is encapsulated in its own ES6 module, keeping the
index.jsclean and focused on routing logic. - Bundled Assets: Integrated Webpack to manage the dependency graph, allowing for the direct import of CSS and images into JavaScript files.
- Webpack Configuration: Set up
webpack.config.jswithhtml-webpack-pluginand dev-servers to optimize the development and build workflow. - ES6 Modules: Mastered the
importandexportsyntax to create a scalable file structure. - NPM & Dependency Management: Handled project libraries and build scripts through
package.jsonand a clean.gitignorestrategy. - Advanced DOM Manipulation: Built complex nested layouts using
document.createElement(),classListmanagement, and hierarchical appending.
Built as part of The Odin Project JavaScript Path.



