Skip to content

A dynamic menu filter built with React. Features category filtering, a responsive layout, and state management. A practice project in component composition.

Notifications You must be signed in to change notification settings

pro804/Menu-Filter-UI

Repository files navigation

Menu Filter UI 🍽️

React Vite Netlify JavaScript

A React practice project featuring a dynamic menu with category filtering functionality. Built to practice state management and component composition in React.

Menu Filter Screenshot

✨ Features

  • Category Filtering - Dynamic filtering of menu items by category
  • Responsive Grid Layout - Adapts to different screen sizes
  • Interactive UI - Smooth category selection with visual feedback
  • State Management - Efficient state handling with useState hook
  • Component Architecture - Well-structured component hierarchy

💡 Key Learnings / Implemented Challenges

This project was created to complete specific challenges focused on foundational React concepts:

  • Component Communication - Sharing data and callback functions between parent and child components via props
  • State Management - Using useState hook for menu items and categories
  • Dynamic Filtering - Implementing category-based filtering functionality
  • Component Composition - Building reusable Title, Menu, MenuItem, and Categories components
  • Data Handling - Importing and manipulating menu data from external file
  • Array Methods - Utilizing map(), filter(), and Set for data manipulation
  • Conditional Rendering - Dynamically displaying menu items based on selected category
  • Event Handling - Implementing click events for category filtering

🧰 Built With

  • Vite + React
  • JavaScript (ES6+)
  • HTML5 & CSS3

▶️ Live Demo

View Live on Netlify: Click here

🎨 Design

Figma design provided by the course instructor: Preview here

📦 Getting Started

Prerequisites

  • Node.js ≥ 18
  • npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/pro804/Menu-Filter-UI.git
  1. Navigate to the project directory
cd Menu-Filter-UI
  1. Install dependencies
npm install
  1. Start the development server
npm run dev
  1. Open http://localhost:5173 to view it in the browser.

🔧 Scripts

  • npm run dev — Runs the development server (Vite)
  • npm run build — Builds the app for production
  • npm run preview — Previews the production build locally

📄 License

This project is created for educational purposes as part of a React learning journey.

About

A dynamic menu filter built with React. Features category filtering, a responsive layout, and state management. A practice project in component composition.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published