Web UI for https://chipa.archertech.ru
user: demo pass: demo
Project blog: https://archertech.ru/projects/chipa/, frontend app post: https://archertech.ru/posts/2023-06-12-front-dev-insights
See screenshots below.
Based on https://github.com/achernetsov/daisyui-vue-admin-minimal
- Vue, Vite, Typescript, Vue-Router, Pinia store
- Daisyui components (hero, cards, forms)
- Responsive layout
- Dark / light theme toggle with theme-change
- Form with tabs; tabs implemented using Vue router nested routes; state displayed within tabs located in Pinia store
- Hero icons
- Keycloak integration on https://www.npmjs.com/package/keycloak-js
- API integration
Disable keycloak in .env.development:
VITE_KEYCLOAK_ENABLED=false
Bootstrap API mock:
npm run api
Bootstap app:
npm run dev
Enable keycloak in .env.development:
VITE_KEYCLOAK_ENABLED=true
Bootstrap keycloak using docker-compose:
docker-compose up -d
Bootstrap API mock:
npm run api
Bootstap app:
npm run dev
VSCode + Volar (and disable Vetur) + TypeScript Vue Plugin (Volar).
TypeScript cannot handle type information for .vue
imports by default, so we replace the tsc
CLI with vue-tsc
for type checking. In editors, we need TypeScript Vue Plugin (Volar) to make the TypeScript language service aware of .vue
types.
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a Take Over Mode that is more performant. You can enable it by the following steps:
- Disable the built-in TypeScript Extension
- Run
Extensions: Show Built-in Extensions
from VSCode's command palette - Find
TypeScript and JavaScript Language Features
, right click and selectDisable (Workspace)
- Run
- Reload the VSCode window by running
Developer: Reload Window
from the command palette.
See Vite Configuration Reference.
npm install
npm run dev
npm run build
Lint with ESLint
npm run lint