Skip to content

Fast Pizza Co. is a web application that allows users to order pizzas πŸ• from a menu πŸ“œ without creating an account or logging in.

Notifications You must be signed in to change notification settings

RoierS/fast-pizza

Repository files navigation

πŸš€ Fast Pizza Co. πŸ•

Fast Pizza Co. is a web application that allows users to order pizzas πŸ• from a menu πŸ“œ without creating an account or logging in. Users can add multiple pizzas to a cart πŸ›’, provide their name πŸ“‡, phone number πŸ“±, and address 🏠, and place their order with a simple POST request. Users can also mark their order as "priority" πŸ” for an additional 20% of the πŸ›’ cart price, either before or after placing the order. Each order will get a unique ID πŸ†” that can be used to look up the order status . Payments πŸ’΅ are made on delivery, so no payment processing is necessary in the app.

fast-pizza-app-rwd-preview

πŸ› οΈ Tech Stack

βš›οΈ React πŸ›£οΈ React Router πŸ”§ Redux Toolkit 🎨 Tailwind CSS πŸ“ Typescript 🧹 ESlint πŸ’… Prettier πŸš€ Vite

✨ Features

πŸ” User Authentication: No user accounts or login are required. Users simply input their names before using the app.

πŸ“œ Dynamic Pizza Menu: The pizza menu is loaded from an external API, allowing for changes in the menu over time.

πŸ›’ Shopping Cart: Users can add multiple pizzas to a cart before placing an order.

πŸ›οΈ Order Placement: Orders require the user's name, phone number, and address.

🌟 Priority Orders: Users can mark their orders as "priority" for an additional 20% of the cart price.

πŸ“€ Order Submission: Orders are submitted by sending a POST request with the order data (user data + selected pizzas) to the API.

πŸ›°οΈ GPS location: Feature that uses the browser's geolocation API to get the user's coordinates and send back the address.

πŸ’° Payment on Delivery: Payments are made on delivery, so no payment processing is necessary in the app.

βœ… Confirmation page: Displays the order ID, the estimated delivery time and other info

πŸ“Š Order Tracking: Allows the user to look up their order by the order ID and see the order details and status

πŸ”„ Post-Order Modification: Users can mark their order as "priority" even after it has been placed.

πŸ“ Project Structure

The project is organized into different folders and files, each serving a specific purpose. Here's an overview:

src/App.tsx: The main application component that sets up the router and defines the main structure of the app.

src/features/: This folder contains various features of the application, including cart, menu, order, and user-related functionality.

src/ui/: UI reusable components and layouts used throughout the application, such as the AppLayout and Home components.

src/services/: Functions for interacting with the external API, including fetching the menu, handling orders and obtaining user geolocation.

src/store/: Redux store setup and configuration.

src/utils/: Contains helpers functions.

src/interfaces/: Includes TypeScript interfaces for: cart, geocoding data, order, pizza, newOrder etc.

πŸ“œ Scripts

dev: Run the development server using Vite.

npm run dev

build: Build the project using TypeScript (tsc) and Vite.

npm run build

lint: Lint the project using ESLint, checking TypeScript and TypeScript React files.

npm run lint

preview: Preview the production build using Vite.

npm run preview

lint:fix: Fix linting issues automatically using ESLint.

npm run lint:fix

format: Format the code using Prettier.

npm run format

πŸš€ Getting Started

Clone the repository:

git clone https://github.com/RoierS/fast-pizza.git
cd fast-pizza

Install dependencies:

npm install

Run the development server:

npm run dev

Build for production:

npm run build

Or simply visit Fast Pizza Co. πŸ•

🀝 Contributing

Feel free to contribute to the project by submitting issues, feature requests, or pull requests. Please follow the established coding conventions and guidelines.

πŸ‘₯ Contributors

πŸ‘¨β€πŸ’Ό RoierS - iermoliuk.roman@gmail.com

πŸ“„ License

This project is licensed under the MIT License.

About

Fast Pizza Co. is a web application that allows users to order pizzas πŸ• from a menu πŸ“œ without creating an account or logging in.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published