https://github.com/bekcodingaddict/fastpizza
The Fast React Pizza app is a modern, multi-page pizza ordering web application built using React and a variety of supporting technologies. The main purpose of this project is to provide a fully functional pizza ordering system where users can browse pizza options, add items to a cart, view detailed orders, and manage their profiles.
https://github.com/bekcodingaddict/fastpizza
Last synced: 11 months ago
JSON representation
The Fast React Pizza app is a modern, multi-page pizza ordering web application built using React and a variety of supporting technologies. The main purpose of this project is to provide a fully functional pizza ordering system where users can browse pizza options, add items to a cart, view detailed orders, and manage their profiles.
- Host: GitHub
- URL: https://github.com/bekcodingaddict/fastpizza
- Owner: BekCodingAddict
- Created: 2024-10-02T09:27:44.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-01T08:34:15.000Z (about 1 year ago)
- Last Synced: 2025-01-16T19:28:12.635Z (about 1 year ago)
- Language: JavaScript
- Homepage: https://fast-pizza-tawny.vercel.app
- Size: 222 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ Fast Pizza React ์ฑ์ด๋?
> [!NOTE]
> Fast Pizza React ์ฑ์ React๋ก ๊ตฌ์ถ๋ ํ๋์ ์ธ ๋ค์ค ํ์ด์ง ํผ์ ์ฃผ๋ฌธ ์น ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค. ์ด ์ฑ์ ์ฌ์ฉ์๊ฐ ํผ์ ์ต์
์ ํ์ํ๊ณ , ํญ๋ชฉ์ ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐํ๊ณ , ๊ณ์ ์ ๋ง๋ค์ง ์๊ณ ๋ ์ฃผ๋ฌธํ ์ ์๋ ํธ๋ฆฌํ ํ๋ซํผ์ ์ ๊ณตํฉ๋๋ค. ์ด ์ฑ์ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ด๋ฉฐ ํผ์๋ฅผ ์ฌ๋ํ๋ ์ฌ๋๋ค์๊ฒ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค.
### ํ๋ก์ ํธ ์๊ตฌ์ฌํญ:
- [x] ์ฌ์ฉ์๊ฐ ๋ฉ๋ด์์ ํ๋ ์ด์์ ํผ์๋ฅผ ์ฃผ๋ฌธํ ์ ์๋ ๋งค์ฐ ๊ฐ๋จํ ์ ํ๋ฆฌ์ผ์ด์
๐
- [x] ์ฌ์ฉ์ ๊ณ์ ๊ณผ ๋ก๊ทธ์ธ์ด ํ์ํ์ง ์์ผ๋ฉฐ, ์ฌ์ฉ์๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฌ์ฉํ๊ธฐ ์ ์ ์ด๋ฆ์ ์
๋ ฅ๋ง ํ๋ฉด ๋ฉ๋๋ค โ๏ธ
- [x] ํผ์ ๋ฉ๋ด๋ ๋ณ๊ฒฝ๋ ์ ์์ผ๋ฏ๋ก API์์ ๋ก๋๋์ด์ผ ํฉ๋๋ค ๐
- [x] ์ฌ์ฉ์๋ ์ฃผ๋ฌธํ๊ธฐ ์ ์ ์ฅ๋ฐ๊ตฌ๋์ ์ฌ๋ฌ ํผ์๋ฅผ ์ถ๊ฐํ ์ ์์ด์ผ ํฉ๋๋ค ๐
- [x] ์ฃผ๋ฌธ์๋ ์ฌ์ฉ์์ ์ด๋ฆ, ์ ํ๋ฒํธ ๋ฐ ์ฃผ์๋ง ํ์ํฉ๋๋ค ๐
- [x] ๊ฐ๋ฅํ๋ค๋ฉด, GPS ์์น๋ฅผ ์ ๊ณตํ์ฌ ๋ฐฐ๋ฌ์ ๋ ์ฝ๊ฒ ํ ์ ์์ต๋๋ค ๐
- [x] ์ฌ์ฉ์๋ ์ฅ๋ฐ๊ตฌ๋ ๊ฐ๊ฒฉ์ 20%๋ฅผ ์ถ๊ฐํ์ฌ "์ฐ์ ์ฃผ๋ฌธ"์ ํ ์ ์์ต๋๋ค โก
- [x] ์ฃผ๋ฌธ์ API๋ก ์ฃผ๋ฌธ ๋ฐ์ดํฐ๋ฅผ (์ฌ์ฉ์ ๋ฐ์ดํฐ+์ ํํ ํผ์) ํฌํจํ POST ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค ๐
- [x] ๊ฒฐ์ ๋ ๋ฐฐ๋ฌ ์ ์ด๋ฃจ์ด์ง๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์
์์ ๊ฒฐ์ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ํ์ ์์ต๋๋ค ๐ณโ
- [x] ๊ฐ ์ฃผ๋ฌธ์ ๊ณ ์ ํ ID๋ฅผ ๋ถ์ฌ๋ฐ์ผ๋ฉฐ, ์ฌ์ฉ์๊ฐ ๋์ค์ ์ฃผ๋ฌธ ID๋ก ์ฃผ๋ฌธ์ ํ์ธํ ์ ์์ต๋๋ค ๐ข
- [x] ์ฌ์ฉ์๋ ์ฃผ๋ฌธ์ ํ ํ์๋ "์ฐ์ ์ฃผ๋ฌธ"์ผ๋ก ํ์ํ ์ ์์ด์ผ ํฉ๋๋ค โ
### Features and Pages
| Featured Categories | Necessary pages | URL Params |
| ------------------- | ----------------- | --------------- |
| User | HomePage | / |
| Menu | Pizza menu | /menu |
| Cart | Cart | /cart |
| Order | Placing new order | /order/new |
| Order | Looking up order | /order/:orderId |
### Technologies & Tools:
ย
ย
ย
ย
ย
ย
ย
## Fast Pizza ์ฑ์ ์ฃผ์ ๊ธฐ๋ฅ๋ค:
### ๐ ํผ์ ๋ฉ๋ด
- ํผ์ ๋ฉ๋ด๋ ๋์ ์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ผ๋ฉฐ API๋ฅผ ํตํด ์ฝ๊ฒ ์
๋ฐ์ดํธํ ์ ์์ด, ์ฌ์ฉ์๊ฐ ์ต์ ๋ฉ๋ด๋ฅผ ํญ์ ํ์ธํ ์ ์์ต๋๋ค.
### ๐ค ์ฌ์ฉ์ ๊ณ์ ๋ฐ ๋ก๊ทธ์ธ ๋ถํ์
- ์ฌ์ฉ์๋ ์ฃผ๋ฌธ์ ํ๊ธฐ ์ํด ๊ณ์ ์ ๋ง๋ค ํ์๊ฐ ์์ต๋๋ค. ์ฑ์ ์ฌ์ฉํ๊ธฐ ์ ์ ์ด๋ฆ๋ง ์
๋ ฅํ๋ฉด ๋ฉ๋๋ค.
### ๐ฝ๏ธ ๋ค์์ ํผ์ ์ฃผ๋ฌธ ๊ฐ๋ฅ
- ์ฌ์ฉ์๋ ํ๋ ์ด์์ ํผ์๋ฅผ ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐํ์ฌ ์ฃผ๋ฌธ์ ํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์ฃผ๋ฌธ์ ์ ์ฐํ๊ฒ ์กฐ์ ํ ์ ์์ต๋๋ค.
### ๐ ์์น ์๋น์ค
- ๋ฐฐ๋ฌ์ ๋ ์ฝ๊ฒ ํ๊ธฐ ์ํด ์ฌ์ฉ์๋ GPS ์์น๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ ํํ ๋ฐฐ๋ฌ์ด ๊ฐ๋ฅํฉ๋๋ค.
### ๐ณ ์ฐ์ ์์ ์ฃผ๋ฌธ
- ์ฌ์ฉ์๋ ์ถ๊ฐ ์๊ธ 20%๋ฅผ ์ง๋ถํ๊ณ ์ฃผ๋ฌธ์ "์ฐ์ ์์"๋ก ์ง์ ํ ์ ์์ด, ๋น ๋ฅธ ๋ฐฐ๋ฌ์ ๋ณด์ฅํฉ๋๋ค.
### ๐ฆ ๊ณ ์ ์ฃผ๋ฌธ ID
- ๋ชจ๋ ์ฃผ๋ฌธ์ ๊ณ ์ ํ ID๋ฅผ ๋ถ์ฌ๋ฐ์, ์ฌ์ฉ์๊ฐ ๋์ค์ ์ฃผ๋ฌธ์ ์ถ์ ํ๊ฑฐ๋ ์กฐํํ ์ ์๋๋ก ํฉ๋๋ค.
### ๐ฑ ์ฃผ๋ฌธ ์์
- ์ฃผ๋ฌธ์ ํ๊ธฐ ์ํด ์ฌ์ฉ์๋ ์ด๋ฆ, ์ ํ๋ฒํธ, ์ฃผ์๋ง ์
๋ ฅํ๋ฉด ๋ฉ๋๋ค. ์ฑ ๋ด์์๋ ๊ฒฐ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ, ๊ฒฐ์ ๋ ๋ฐฐ๋ฌ ์ ์ด๋ฃจ์ด์ง๋๋ค.
### ๐ ์ฃผ๋ฌธ ํ ์ฐ์ ์์ ๋ณ๊ฒฝ ๊ฐ๋ฅ
- ์ฃผ๋ฌธ์ด ์๋ฃ๋ ํ์๋ ์ฌ์ฉ์๋ ์์ ์ ์ฃผ๋ฌธ์ "์ฐ์ ์์"๋ก ์
๋ฐ์ดํธํ ์ ์์ด, ์ฃผ๋ฌธ ๊ด๋ฆฌ์ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
## ๐ ์ฑ์ทจ
### ๐ฆ ์์กด์ฑ ๊ด๋ฆฌ ๋ง์คํฐ
- ๊ฐ๋ฐ ๋ฐ ํ๋ก๋์
ํ๊ฒฝ์ ์ต์ ํํ๊ธฐ ์ํด dependencies์ devDependencies๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ค์ ํ๊ณ ๊ด๋ฆฌํ์ต๋๋ค.
### ๐ ์ํํ ๊ฐ๋ฐ ์ํฌํ๋ก์ฐ
- ๋น ๋ฅธ ๊ฐ๋ฐ ๋ฐ ํจ์จ์ ์ธ ๋น๋ ํ๋ก์ธ์ค๋ฅผ ์ํด vite๋ฅผ ํตํฉํ๊ณ dev, build, preview ๋ช
๋ น์ด๋ฅผ ์ค์ ํ์ต๋๋ค.
### ๐จ Tailwind CSS ์ฌ์ฉ์ ์ ์
- tailwindcss์ prettier-plugin-tailwindcss๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฆ๋ต๊ณ ์ ์ ๋ฆฌ๋ ์คํ์ผ์ ๊ตฌํํ์ต๋๋ค.
### ๐ ESLint ๋ฐ Prettier ์ค์
- eslint, eslint-config-react-app, prettier์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ค์ ํ์ฌ ๊นจ๋ํ๊ณ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ๋ณด์ฅํ์ต๋๋ค.
### โ๏ธ React ๊ณ ๊ธ ์ง์
- react, react-dom, react-router-dom, react-redux๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋์ ์ธ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ๋ ๋ฐ ์๋ฌํ์ต๋๋ค.
## ๐ ๋ฐฐ์ด ์
### ๐ ๋ชจ๋ํ ์ํคํ
์ฒ์ ์ค์์ฑ
- ํ์ฅ ๊ฐ๋ฅํ redux-toolkit ์ํ ๊ด๋ฆฌ๋ฅผ ์ค์ ํ์ฌ ๋ชจ๋ํ ์ํคํ
์ฒ์ ์ด์ ์ ๋ฐฐ์ ์ต๋๋ค.
### ๐ ๋ฆฐํธ ๊ท์น์ ์ ํ์ฑ
- ์๊ฒฉํ ESLint ๊ท์น (--max-warnings 0)์ด ๊ท์จ์ ๊ฐํํ๊ณ ๊ฐ๊ณผ๋ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ์ ์ดํดํ์ต๋๋ค.
### โก ์ฑ๋ฅ ์ต์ ํ
- Vite์ ๋น ๋ฅธ ๋น๋ ์๊ฐ๊ณผ ํซ ๋ชจ๋ ๊ต์ฒด๊ฐ ๊ฐ๋ฐ ๊ฒฝํ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ์ต๋๋ค.
### ๐ CSS ์ต์ ํ
- autoprefixer์ PostCSS์ ๊ฐ๋ ฅํจ์ ํ๊ตฌํ์ฌ ๋ค์ํ ๋ธ๋ผ์ฐ์ ๊ฐ CSS ํธํ์ฑ์ ๋ณด์ฅํ์ต๋๋ค.
### ๐ ๋ผ์ฐํ
๋ฐ ์ํ ๊ด๋ฆฌ ์๋ฌ
- ๋ณต์กํ ๋ผ์ฐํ
์์คํ
(react-router-dom)๊ณผ redux๋ฅผ ํตํ ํจ์จ์ ์ธ ๊ธ๋ก๋ฒ ์ํ ๊ด๋ฆฌ ๊ธฐ์ ์ ํฅ์์์ผฐ์ต๋๋ค.
### ๐จ ๋๋ฒ๊น
๊ธฐ์
- vite-plugin-eslint๊ณผ ๊ฐ์ ๋๊ตฌ๊ฐ ๊ฐ๋ฐ ์ค์ ๋ฌธ์ ๋ฅผ ํ์งํ์ฌ ๋๋ฒ๊น
์ ๊ฐ์ํํ๋ ๋ฐฉ๋ฒ์
## Problems & Challanges
| Error & Problem Title | Status | Difficult | Date |
|--|--|--|--|
|[๐จ TailwindCSS Conflicts](https://github.com/BekCodingAddict/FastPizza/blob/master/Problems/TailwindCSS-Conflicts.md) |  | low | Oct 3, 2024 |
## UI Screenshots