Fast-Pizza-Co.

Website Apps to order pizza and track your orders using React, React router, Tailwind and Redux.

Stars
0
Committers
2

About Website

Fast Pizzan Co. is website Apps to order pizza and track your orders using React, React router, Tailwind and Redux.

Project requirements from the business

  • Very simple application, where users can order one or more pizzas from a menu
  • Requires no user accounts and no login: users just input their names before using the app
  • The pizza menu can change, so it should be loaded from an API
  • Users can add multiple pizzas to a cart before ordering
  • Ordering requires just the user’s name, phone number, and address
  • If possible, GPS location should also be provided, to make delivery easier
  • User’s can mark their order as “priority” for an additional 20% of the cart price
  • Orders are made by sending a POST request with the order data (user data + selected pizzas) to the API
  • Payments are made on delivery, so no payment processing is necessary in the app
  • Each order will get a unique ID that should be displayed, so the user can later look up their order based on the ID
  • Users should be able to mark their order as “priority” order even after it has been placed

Features

  • Add pizza to cart, choose quantity of each
  • Track what you already have in cart
  • Make order by complete form with phone, address (possible to use geolocation)
  • Add order to priority queue by paying extra money
  • No payment processing

Tech Features:

  • Application uses backend servise to fetch and post data (remote state)
  • That remote state manage by react router data loading feature ("rendre as you fetch") and router action to post data to remote api
  • Global UI state manage be redux-toolkit, split global state on slices
  • Styling: Tailwindcss, responsive design (mobile first)

Technologies used

Routing: React Router Styling: TailwindCSS Persist Remote State Management: React Router UI State Management: Redux Toolkit

Getting Started

To start the project, it is necessary to download the files from the github repository and after that run this commands: 'npm i' 'npm run dev'

Demo Website

Related Projects