π Capstone Project: Habesh Foods Website - Now with React!Β
Congratulations! You have been invited back by Habesh Foods, the traditional Ethiopian restaurant in Addis Ababa, to upgrade their website. You already created it using HTML, CSS, and JavaScript, and the owners loved it!
Now that you have learned React and Git, you are asked to rebuild the same website using React and host it on your public GitHub account. This is your chance to show off your modern front-end skills!
You will create a React application that:
Showcases the restaurant's story, menu, and gallery.
Uses components to organize sections (About, Menu, Gallery, etc.).
Includes React state/hooks if needed (like a button click counter for visitors).
Is hosted on GitHub (public repository) so you can show it in your portfolio.
habesh-foods-react/
βββ public/
β Β βββ index.html
βββ src/
β Β βββ components/
β Β β Β βββ Header.js
β Β β Β βββ About.js
β Β β Β βββ Menu.js
β Β β Β βββ Gallery.js
β Β β Β βββ Footer.js
β Β βββ App.js
β Β βββ index.js
β Β βββ styles.css
βββ package.json
Use a Header Component with the text:
π Welcome to Habesh Foods
(Add a simple navigation bar if you want)
Create an About Component with:
Short description of the restaurant.
Information about Ethiopian Traditional Foods.
Create a Menu Component with:
Traditional Foods (list with clickable links)
(Doro Wat, Shiro, Tibs, etc. β each should open Wikipedia in a new tab)
Drinks Section (nested list - alcoholic and non-alcoholic)
Add a section with:
A short description about the Doro Wat Recipe Video.
A button that opens the YouTube video link.
Display at least 2 images of Ethiopian food.
Each image should link to Google Images search results for Ethiopian food.
Add a footer component with a copyright message like:
Β© 2025 Habesh Foods. All Rights Reserved.
Use React Functional Components.
Use CSS for styling (external or module CSS is fine).
Use Git to track your changes.
Push the entire project to your public GitHub repository.
Share your GitHub repository link with your instructor.
Clean folder structure.
Proper use of React components.
Proper use of lists, links, and images.
Clear and organized CSS styles.
GitHub repository is public and well-named.
README file (optional but recommended) with a project description.
This project helps you practice:
Converting an HTML project to a modern React project.
Using components to organize your code.
Practicing Git workflow (add, commit, push).
Getting used to publishing projects on GitHub.
This is your capstone project for this course β make it great! π