π© A boilerplate for SPA Client with HTML5, Vue, and Tailwind on Vite.
π View Demo: Live | Windows | macOS | Android | iOS
Source Code: Web-side | Native-side | Server-side
Prerequisites:
- Node.js v20
- PNPM v8
Get started with Vue Starter.
# install dependencies
$ pnpm install
# dev server (in one terminal)
$ pnpm dev
# mock server (in another terminal)
$ pnpm mock
Or use barebones scaffolding for your new Vue app
$ pnpm dlx degit Shyam-Chen/Starter-Templates/vue my-vue-app
Follow steps to execute this boilerplate.
$ pnpm install
$ pnpm dev
$ pnpm mock
$ pnpm build
$ pnpm preview
Biome CLI
# format
$ pnpm biome format ./app ./ui ./mock ./e2e --write
# lint
$ pnpm biome lint ./app ./ui ./mock ./e2e
# format, lint & sort
$ pnpm biome check --apply ./app ./ui ./mock ./e2e
$ pnpm check
$ pnpm test
$ pnpm e2e
This seed repository provides the following features:
- ---------- Essentials ----------
- Vue - User Interface Framework
- Router - Routing
- Routes - File-based Routing
- Storer - State Management
- Formor - Form Validation
- Valibot - Schema Validation
- Localer - Internationalization and Localization
- Use - Composition Utilities
- Qrcode Image - QR Code Generation
- Lodash - JavaScript Utilities
- Date Fns - Date Utilities
- UnoCSS - CSS Utilities
- Iconify - Icon Utilities
- Tiptap - Rich Text Editor
- ECharts - Data Visualization
- ---------- Tools ----------
- Vite - Bundler
- TypeScript - JavaScript with Syntax for Types
- Sassy CSS - CSS Extension
- Biome - Formatter and Linter
- ESLint - Linter
- Prettier - Formatter
- Vitest - Test Runner
- Playwright - Test Automation
- ---------- Environments ----------
- Node.js - JavaScript Runtime Environment
- Pnpm - Package Manager
- Caddy - Web Server
- Docker - Containerized Application Development
- GitHub Actions - Continuous Integration and Delivery
- Render - Cloud Application Hosting
Control the environment.
Set your local environment variables.
// vite.config.ts
define: envify({
API_URL: process.env.API_URL || '',
}),
Add environment secrets to the GitHub Actions workflow.
DEPLOY_HOOK=xxx
Add environment variables to the Render build.
API_URL=xxx
The structure follows the LIFT Guidelines.
.
βββ .github/workflows/ci.yml
βββ app
β βββ public
β βββ src
β β βββ assets
β β βββ components
β β βββ composables
β β βββ layouts
β β βββ locales
β β βββ middleware
β β βββ plugins
β β βββ routes
β β βββ utilities
β β βββ workers
β β βββ App.vue
β β βββ main.ts
β β βββ shims.d.ts
β βββ index.html
β βββ package.json
β βββ tsconfig.json
β βββ vite.config.ts
βββ e2e
β βββ src
β βββ package.json
β βββ playwright.config.ts
β βββ tsconfig.json
βββ mock
β βββ src
β βββ package.json
β βββ tsconfig.json
β βββ vite.config.ts
βββ ui
β βββ src
β βββ package.json
β βββ tsconfig.json
β βββ vite.config.ts
βββ .editorconfig
βββ .eslintrc
βββ .gitignore
βββ .prettierrc
βββ biome.json
βββ Caddyfile
βββ compose.yaml
βββ Dockerfile
βββ package.json
βββ pnpm-lock.yaml
βββ pnpm-workspace.yaml
βββ README.md
βββ render.yaml