This app allows you to manage tasks by project.
- __tests__ - All test specs
- assets - css and other assets
- composables - composition functions and helpers
- plugins - vue plugins
- routes - file based router
- stores - pinia
- types - TS types
element-plus- UI kitpinia- storeunplugin-auto-import- auto import vue functionsunplugin-vue-router- auto import vue-router functionsunplugin-vue-components- auto-import Vue and vue-router components, such as RouterLink, etc.unplugin-element-plus- optimize element-plus components stylesunplugin-icons- element plus icons
npm installnpm run devnpm run buildRun Tests with Vitest
npm run testnpm run test:uiThe entire backend API is mocked by axios-mock-adapter. These mocks are used in the app and tests.
All mocks are located in mocks.ts.
You can also simulate delay for each response in main.ts
app.use(ApiPlugin, {delayResponse: 500})
The mocked API includes a simple handler that returns a 401 for any request without an Authorization header, except for the /projects route. Axios interceptor throws UI notification when it catches a 401 error. I have added a demo section for each page where you can remove token from localStorage to see "Unauthorized" error