大杯奶茶,微糖微冰,年輕世代多將過長但高頻率使用的語詞簡寫(大安森林公園 → 安森, 國父紀念館 → 國館等),大奶微微屬於詼諧式簡寫,目的為抓住以年輕世代為主力消費的客群。 此為前端原始碼,採用 React 框架開發。
Clone 你訂部份功能的線上訂購飲料平台。
-
前台功能
- 使用者 (consumer)
- 依當前位置查詢附近飲料店
- 選擇尺寸、冰塊與糖度後加入購物車,最後透過綠界支付
- 修改、刪除當前購買產品項目
- 查看當前訂購項目與訂單記錄
- 更改用戶資料
- 使用者 (consumer)
-
後台功能
- 店家 (shop)
- 上傳店家品牌封面照
- 新增、修改與刪除產品資訊
- 最高管理者 (admin)
- 管理所有店家
- 修改與刪除店家資訊
- 店家 (shop)
- React Hooks
- Tailwind CSS
- 套件
- React Router
- Redux Toolkit
- React Query
- @brainhubeu/react-carousel
- API
- Google API(Place & Distance)
- Imgur
- 綠界
├── public // 靜態資源
├── src
| ├── App.js // 應用
│ │── components // 共用元件
│ │ ├── AddToCart.js
│ │ ├── AdminNavbar.js
│ │ ├── Carousel.js
│ │ ├── DeleteButton.js
│ │ ├── DetailBoard.js
│ │ ├── EditButton.js
| │ ├── ErrorMessage.js
| │ ├── Footer.js
| │ ├── GoogleMap.js
| │ ├── Ham.js
| │ ├── InputBar.js
| │ ├── Loading.js
| │ ├── MyCarousel.js
| │ ├── NavBar.js
| │ ├── ProgressBar.js
| │ ├── ScrollToTop.js
| │ ├── ShopNavbar.js
| │ ├── SmallButton.js
| │ ├── SubFooter.js
| │ └── TitleArea.js
│ ├── features
│ | ├── chosenShopSlice.js
│ | ├── loadingSlice.js
│ | ├── shoppingCartSlice.js
│ | └── userSlice.js
│ ├── image // 圖片
│ ├── pages // 頁面元件
│ | ├── AddProductPage
│ | | ├── AddProductPage.js
│ | | └── index.js
│ │ ├── AdminEditPage
│ | | ├── AdminEditPage.js
│ | | └── index.js
│ │ ├── AdminUpdatePage
│ | | ├── AdminUpdatePage.js
│ | | └── index.js
│ │ ├── CreditCardDeletePage
│ | | ├── CreditCardDeletePage.js
│ | | └── index.js
│ │ ├── CreditCardStartPage
│ | | ├── CreditCardStartPage.js
│ | | └── index.js
│ │ ├── CreditCardUpdatePage
│ | | ├── CreditCardUpdatePage.js
│ | | └── index.js
│ │ ├── HomePage
│ | | ├── HomePage.js
│ | | └── index.js
│ │ ├── LoginPage
│ | | ├── LoginPage.js
│ | | └── index.js
│ │ ├── MenuPage
│ | | ├── MenuPage.js
│ | | └── index.js
│ │ ├── NoPermissionPage
│ | | ├── NoPermissionPage.js
│ | | └── index.js
│ │ ├── NotFoundPage
│ | | ├── NotFoundPage.js
│ | | └── index.js
│ │ ├── OrderCheckPage
│ | | ├── OrderCheckPage.js
│ | | └── index.js
│ │ ├── OrderInfoPage
│ | | ├── OrderInfoPage.js
│ | | └── index.js
│ │ ├── OrderItemEditPage
│ | | ├── OrderItemEditPage.js
│ | | └── index.js
│ │ ├── OrderPage
│ | | ├── OrderPage.js
│ | | └── index.js
│ │ ├── OrderPayPage
│ | | ├── OrderPayPage.js
│ | | └── index.js
│ │ ├── OrdersPage
│ | | ├── OrdersPage.js
│ | | └── index.js
│ │ ├── ProductListPage
│ | | ├── ProductListPage.js
│ | | └── index.js
│ │ ├── ProductsPage
│ | | ├── ProductsPage.js
│ | | └── index.js
│ │ ├── RegisterPage
│ | | ├── RegisterPage.js
│ | | └── index.js
│ │ ├── UpdateProductPage
│ | | ├── UpdateProductPage.js
│ | | └── index.js
│ │ ├── UserUpdatePage
│ | | ├── UserUpdatePage.js
│ | | └── index.js
│ │ └── UserUploadImagePage
│ | ├── UserUploadImagePage.js
│ | └── index.js
│ ├── api.js // fetch API
│ ├── constant.js
│ ├── index.css
│ ├── index.js
│ ├── store.js
│ └── utils.js
├── .eslintrc.js
├── .prettierrc.js
├── craco.config.js
├── package-lock.json
├── package.json
├── README.md
└── tailwind.config.js
目前版本 v1
- 載入時若無開位置權限,則會提供預設位置附近飲料店家,若欲查看附近店家還需開設位置權限唷!
- 若有「找不到使用者」情形,還需請您至瀏覽器設置處將「跨域追蹤」權限開啟
- 本地端要有 node.js、Git、SQL 環境
- 在此頁面下載壓縮檔或 clone 到本地(連同後端專案)
npm install
安裝專案所需套件- 由於專案使用到 Google、imgur API,所以要到 Google、imgur 申請對應的代碼(Key),申請完本地建立
.env
檔案將 key 存至變數,由於使用 react 框架,請命名依規範REACT_APP_XXX_KEY
npm start
執行專案(連同後端專案一併操作) 以下提供測試用的帳號密碼:
Name | email(帳號) | password | 權限 |
---|---|---|---|
Admin | admin@gmail.com | Admin000 | 最高權限 |
迷客夏 | 1002@gmail.com | 0 | 店家 |
測試帳號 | testcount@gmail.com | Aa000000 | 使用者 |
- 為了良好測試體驗,請使用功能時斟酌增減測試
大奶微微訂購飲料平台後端,採用 Express 和 Sequelize 進行開發。
↳ 後端專案連結點這