Skip to content

A table-booking system using React. It's a fully responsive web app that allows users to reserve a table for the Little Lemon restaurant.

Notifications You must be signed in to change notification settings

marventures/little-lemon-booking-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Restaurant Table Booking System

A table-booking system using React. It's a fully responsive web app that allows users to reserve a table for the Little Lemon restaurant.

Table of contents

Overview

Screenshot

restaurantBookingSystem restaurantBookingSystem

Links

My process

Built with

What I learned

  • Hide/show navbar depending on scroll direction
  • Creating a form component in React
  • Creating a controlled component in React
  • Creating routes using React Router v6
  • Creating unit tests using React Testing Library
  • Storing state using localStorage API
  • Using aria attributes to ensure my application is accessible to users
  • Handling form submission and validation
  • Managing state within a component using UseState Hook
  • Handling side-effects using useEffect Hook
  • Creating a basic list component using map function
  • Using keys within list Components
  • Lifting state up
  • Styling React App with Pure CSS
  • Adding Open Graph Protocol meta tags to improve SEO

Here is a code snippet:

const BookingForm = ({ availableTimes, dispatch }) => {
  const navigate = useNavigate();
  const { times } = availableTimes;
  const [bookings, setBookings] = useState({
    date: '',
    time: '17:00',
    guests: '',
    occasion: 'Birthday',
  });

  useEffect(() => {
    localStorage.setItem('Bookings', JSON.stringify(bookings));
  }, [bookings]);

Useful resources

Author

About

A table-booking system using React. It's a fully responsive web app that allows users to reserve a table for the Little Lemon restaurant.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published