diff --git a/README.md b/README.md index c7e66f7..67fd534 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,57 @@ -# frontend - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -npm install -``` - -### Compile and Hot-Reload for Development - -```sh -npm run dev -``` - -### Compile and Minify for Production - -```sh -npm run build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -npm run test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -npm run test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -npm run build -npm run test:e2e -``` - -### Lint with [ESLint](https://eslint.org/) - -```sh -npm run lint -``` +# frontend + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Compile and Minify for Production + +```sh +npm run build +``` + +### Run Unit Tests with [Vitest](https://vitest.dev/) + +```sh +npm run test:unit +``` + +### Run End-to-End Tests with [Cypress](https://www.cypress.io/) + +```sh +npm run test:e2e:dev +``` + +This runs the end-to-end tests against the Vite development server. +It is much faster than the production build. + +But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): + +```sh +npm run build +npm run test:e2e +``` + +### Lint with [ESLint](https://eslint.org/) + +```sh +npm run lint +``` diff --git a/doc/structure.txt b/doc/structure.txt index 68b992e..9e362c3 100644 --- a/doc/structure.txt +++ b/doc/structure.txt @@ -1,28 +1,183 @@ -hello-vite/ -├── index.html Vite的進入點 -├── node_modules -├── package.json -├── package-lock.json -├── public 不被 JavaScript 引用的靜態資源 -│ └── favicon.ico 網頁標題欄 icon -├── README.md -├── src -│ ├── App.vue 網頁根元件 -│ ├── main.js 程式進入點 -│ ├── assets 靜態資源 EX: 圖片, CSS -│ │ ├── base.css -│ │ ├── logo.svg -│ │ └── main.css -│ ├── components 元件檔 -│ │ ├── HelloWorld.vue -│ │ ├── icons (略 - 放所有 icon 的 svg 檔) -│ │ ├── TheWelcome.vue -│ │ └── WelcomeItem.vue -│ ├── router Vue Router 路由管理 -│ │ └── index.js -│ ├── stores Pinia 狀態管理器 -│ │ └── counter.js -│ └── views 路由元件 -│ ├── AboutView.vue -│ └── HomeView.vue -└── vite.config.js vite 設定檔 +frontend +├─ .eslintrc.cjs +├─ .git // Git 紀錄 +│ └─ refs +│ ├─ heads +│ │ ├─ lucia-demo-v0.99.0 +│ │ └─ main +│ ├─ remotes +│ │ └─ origin +│ │ ├─ lucia-demo-v0.99.0 +│ │ └─ main +│ └─ tags +│ ├─ v0.99.0 +│ ├─ v0.99.1 +│ ├─ v0.99.1.01 +│ ├─ v0.99.1.02 +│ ├─ v0.99.2 +│ ├─ v0.99.3 +│ ├─ v0.99.4 +│ ├─ v0.99.5 +│ ├─ v0.99.6 +│ ├─ v0.99.7 +│ └─ v0.99.9 +├─ .gitignore +├─ .prettierrc.json +├─ README.md +├─ cypress // E2Etesting 檔 +│ ├─ downloads +│ ├─ e2e // 要跑測試的檔案放這邊 +│ │ ├─ compare.cy.js +│ │ └─ jsconfig.json +│ ├─ fixtures +│ │ ├─ csv // 上傳功能測試檔 +│ │ │ ├─ big5.csv +│ │ │ ├─ corrupted.csv +│ │ │ ├─ empty.csv +│ │ │ ├─ favicon.ico +│ │ │ ├─ insufficient-columns.csv +│ │ │ ├─ rightFile.csv +│ │ │ └─ worngFile.csv +│ │ ├─ doneTesting // 已經測試過的檔案 +│ │ │ ├─ conformanceRule.cy.js +│ │ │ ├─ conformanceSave.cy.js +│ │ │ ├─ fileUploadEtc.cy.js +│ │ │ ├─ filterFunnel.cy.js +│ │ │ ├─ loginToLogout.cy.js +│ │ │ ├─ performance.cy.js +│ │ │ └─ saveLogAndFilter.cy.js +│ │ └─ users // 測試用的假帳號資料 +│ │ └─ id-not-exists.json +│ ├─ screenshots +│ ├─ support // E2Etesting 元件檔 +│ │ ├─ commands.js +│ │ └─ e2e.js +│ └─ videos // E2Etesting 影片 +│ └─ compare.cy.js.mp4 +├─ cypress.config.js // Cypress E2Etesting 設定檔 +├─ doc // 檔案總管 +│ └─ structure.txt +├─ index.html // Vite的進入點 +├─ package-lock.json +├─ package.json +├─ postcss.config.cjs +├─ public // 不被 JavaScript 引用的靜態資源 +│ ├─ chartSpace.jpg +│ ├─ favicon.ico // 網頁標題欄 icon +│ ├─ filterContainment.png +│ └─ timeFrameSlope.jpg +├─ src +│ ├─ App.vue // 網頁根元件 +│ ├─ assets // 靜態資源 EX: 圖片, CSS +│ │ ├─ base.css +│ │ ├─ components.css +│ │ ├─ layout.css +│ │ ├─ main.css +│ │ ├─ tailwind.css +│ │ └─ vendors.css +│ ├─ components // 元件檔 +│ │ ├─ Compare +│ │ │ └─ SidebarStates.vue +│ │ ├─ Discover +│ │ │ ├─ Conformance +│ │ │ │ ├─ ConformanceResults.vue +│ │ │ │ ├─ ConformanceSidebar +│ │ │ │ │ ├─ ActList.vue +│ │ │ │ │ ├─ ActRadio.vue +│ │ │ │ │ ├─ ActSeqDrag.vue +│ │ │ │ │ ├─ ConformanceRadioGroup.vue +│ │ │ │ │ ├─ ConformanceSelectResult.vue +│ │ │ │ │ ├─ ConformanceShowBar.vue +│ │ │ │ │ ├─ ConformanceTimeRange.vue +│ │ │ │ │ ├─ ResultArrow.vue +│ │ │ │ │ ├─ ResultCheck.vue +│ │ │ │ │ ├─ ResultDot.vue +│ │ │ │ │ └─ TimeRangeDuration.vue +│ │ │ │ ├─ ConformanceSidebar.vue +│ │ │ │ └─ MoreModal.vue +│ │ │ ├─ Map +│ │ │ │ ├─ Filter +│ │ │ │ │ ├─ ActAndSeq.vue +│ │ │ │ │ ├─ ActOcc.vue +│ │ │ │ │ ├─ ActOccCase.vue +│ │ │ │ │ ├─ Attributes.vue +│ │ │ │ │ ├─ Funnel.vue +│ │ │ │ │ ├─ Timeframes.vue +│ │ │ │ │ └─ Trace.vue +│ │ │ │ ├─ SidebarFilter.vue +│ │ │ │ ├─ SidebarState.vue +│ │ │ │ ├─ SidebarTraces.vue +│ │ │ │ └─ SidebarView.vue +│ │ │ └─ StatusBar.vue +│ │ ├─ File +│ │ │ └─ UploadModal.vue +│ │ ├─ Header.vue +│ │ ├─ Loading.vue +│ │ ├─ Navbar.vue +│ │ ├─ Search.vue +│ │ ├─ durationjs.vue +│ │ └─ icons // 放所有 icon 的 svg 檔 +│ │ ├─ DspLogo.vue +│ │ ├─ IconDataFormat.vue +│ │ ├─ IconEyeClose.vue +│ │ ├─ IconEyeOpen.vue +│ │ ├─ IconFlowChart.vue +│ │ ├─ IconGrid.vue +│ │ ├─ IconList.vue +│ │ ├─ IconLockKey.vue +│ │ ├─ IconMember.vue +│ │ ├─ IconNA.vue +│ │ ├─ IconRule.vue +│ │ ├─ IconSearch.vue +│ │ ├─ IconSetting.vue +│ │ ├─ IconUploarding.vue +│ │ ├─ IconVector.vue +│ │ ├─ IconWarnTriangle.vue +│ │ └─ IconsFilter.vue +│ ├─ main.js // 程式進入點 +│ ├─ module // JavaScript 邏輯 +│ │ ├─ abbreviateNumber.js +│ │ ├─ alertModal.js // SweetAlert +│ │ ├─ apiError.js // API Error 邏輯 +│ │ ├─ cytoscapeMap.js +│ │ ├─ cytoscapeMapTrace.js +│ │ ├─ numberLabel.js +│ │ ├─ setChartData.js +│ │ ├─ shortScaleNumber.js +│ │ ├─ sortNumEngZhtw.js +│ │ └─ timeLabel.js +│ ├─ router // Vue Router 路由管理 +│ │ └─ index.js +│ ├─ stores // 資料狀態管理器 +│ │ ├─ allMapData.js +│ │ ├─ compare.js +│ │ ├─ conformance.js +│ │ ├─ files.js +│ │ ├─ loading.js +│ │ ├─ login.js +│ │ ├─ main.js +│ │ └─ performance.js +│ └─ views // 路由元件 +│ ├─ AuthContainer.vue +│ ├─ Compare +│ │ └─ Dashboard +│ │ └─ index.vue +│ ├─ Discover +│ │ ├─ Conformance +│ │ │ └─ index.vue +│ │ ├─ Map +│ │ │ └─ index.vue +│ │ └─ Performance +│ │ └─ index.vue +│ ├─ Files +│ │ └─ index.vue +│ ├─ Login +│ │ └─ index.vue +│ ├─ MainContainer.vue +│ ├─ MemberArea +│ │ └─ index.vue +│ ├─ NotFound404.vue +│ └─ Upload +│ └─ index.vue +├─ tailwind.config.js // Tailwind 設定檔 +└─ vite.config.js // Vite 設定檔