Dynamically rendering a restaurant homepage with JS and webpack
ποΈ
Assignment
π
Report a Bug
πββοΈ
Request Feature
Plaza AthΓ©nΓ©e is a fictional restaurant based in USA. They have requested your help to build a website that will help them reach to younger public. They want it to be fast, dynamic and responsive.
In fact this is for Microverse based in this requirements.
Restaurant Page project is part of a series of projects to be completed by students of Microverse.
The Restaurant Page is a JavaScript project, built using DOM manipulation and webpack. The restaurant shows a description of the services, a menu with some dishes (with a delicate animation), and a welcoming contact page. Most of the web is created using JavaScript String Templates, changing the view dynamically with event listeners.
I created the design, configured the project and coded the webpage, so I was the designer, UI/UI engineer, Web Programmer, etc.
- Data Structures
- Object Oriented Programming
- Factory Functions
- Single Responsibility
- Tightly Coupled Objects
- Module Pattern
- ES6 syntax
- Export/import ES6+ notation
- Linters
- Basic VanillaJS app with a single script or few commands
- JS modules and ES6+ available for most browsers
- Sets
stickleron the repo - Sets
eslintrules - Tests made with
ESLint - Unit Testing with
Jest - Add
jestandeslintto be callable withnpm
- Webpack
ESLintnpmvscodewith ESLint extension- Linux/GNU
- Love and Passion for code
Live Demo HERE
gitnpm6.13 +node11.15 +- A Text Editor like VSCode
- A browser like Firefox or Chrome
git clone https://github.com/Israel-Laguan/SUSHI-FUSION.git
cd sushi-fusion
npm i && npm start
Then open http://localhost:3000/ to see the app.
In development mode webpack does not write generated files to disk, in order to change it
switch devServer.writeToDisk to true in webpack.dev.js. When you use production mode, the generated files are on dist/ folder.
To run the development build (the one that don't generate files) just run in the terminal npm start
npm run buildto preparehtml,css,jsfiles indist/directory. The gerated files are ready to put in production, also you can open theindex.htmlin your local browser so you can see the result.
Run ESlint with npm run lint to verify linter rules are applied correctly. If you want to auto correct you can run npm run lint-fix. Optionally you can run the linter and tests: npm run linter && npm test
- Reservation with a form
- Contact Form with a custom message
- Improve Home View
- Add Dishes and their description
- When you click a dish, you have a button to reservate that dish in the form
- Integrate Reservation with a Calendar/Events feature
- Add tests
π€ Contributions, issues and feature requests are welcome! Feel free to check the issues page.
Give a βοΈ if you like this project!
I created this websites inspired form an original art created by freepik - www.freepik.com
π This project is licensed under the MIT
Feel free to fork this project and improve it




