Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rcrdk/pizza-shop-web

A simple Pizza Shop for practice of fetching API data on a React app.
https://github.com/rcrdk/pizza-shop-web

axios happy-dom mock-service-worker playwright radix-ui react react-hook-form react-query react-router shadcn-ui tailwindcss testing-library typescript zod

Last synced: 8 days ago
JSON representation

A simple Pizza Shop for practice of fetching API data on a React app.

Awesome Lists containing this project

README

        

# 🍕 Pizza Shop
I developed this project as a challenge of my latest studies on React lessons at [Rocketseat](https://www.rocketseat.com.br).



Pizza Shop Project Preview

## 🚀 Techs and Tools

- [React](https://reactjs.org)
- [TypeScript](https://www.typescriptlang.org/)
- [shadcn/ui](https://ui.shadcn.com) + [Radix UI](https://www.radix-ui.com) + [TailwindCSS](https://tailwindcss.com)
- [React Query](https://tanstack.com/query/v3/)
- [React Router](https://reactrouter.com/en/main)
- [React Hook Form](https://react-hook-form.com/) + [Zod](https://zod.dev/)
- [Axios](https://axios-http.com/docs/intro)
- [Testing Library](https://testing-library.com) + [Happy DOM](https://github.com/capricorn86/happy-dom)
- [Mock Service Worker](https://mswjs.io) + [Playwright](https://playwright.dev)

## 💻 Project

This project was developed for practicing the connection between this front-end app and it's API provied by the school and available at links section. The main practice was connecting the API to this front-end project using React Query for caching data. It was used shadcn/ui as component library along with radix. Here I've added unit tests on some components using Testing Library with Happy DOM and also, added E2E tests with Playright and Mock Service Worker.

**It includes:** A sign up and sign in pages; A dashboard with summary and graphs; A modal form to edit restaurant information; An orders module with status management and view detailed information; A error page.

## 🔗 Links

- [Back-End API](https://github.com/rocketseat-education/pizzashop-api)
> The Resend integration was disabled. To run app and get access url, insert any value at `RESEND_API_KEY` on `.env` file; In `seed.ts` find and copy the e-mail for sign inside create restaurant manager seed function; Paste the e-mail on login and get the access url on api console terminal.

## ⚙️ Enviroment Variables

```shell
VITE_API_URL="http://localhost:3333"
VITE_ENABLE_API_DELAY=true # true for delaying requests and test skeletons
```