A modern Vue 3 application built with Vite, featuring internationalization, state management, and a comprehensive development toolchain.
VSCode + Volar (and disable Vetur).
- ⚡ Vue 3 - Composition API,
<script setup> - 🛠️ Vite - Fast build tool and development server
- 🎨 Tailwind CSS - Utility-first CSS framework
- 🌍 Vue I18n - Internationalization support (EN/FR)
- 🗂️ Pinia - State management with persistence
- 🔍 TanStack Query - Data fetching and caching
- 📊 TanStack Table - Powerful data tables
- 🧰 VueUse - Collection of essential Vue composition utilities
- 📝 TypeScript - Type safety
- 🛡️ Zod - Runtime type validation
- 🎯 ESLint + Prettier + Stylelint - Code quality tools
- 🚀 OXLint - Fast linting
- Vue 3.5 - Progressive JavaScript framework
- TypeScript - Static type checking
- Vite 7 - Build tool and dev server
- Tailwind CSS 4 - Utility-first CSS
- SCSS - CSS preprocessor
- Pinia - Vue state management
- TanStack Vue Query - Server state management
- Vue I18n - Internationalization
- Zod - Runtime type validation and schema validation
- ESLint - JavaScript linting
- Prettier - Code formatting
- Stylelint - CSS linting
- OXLint - Fast linting alternative
The project supports multiple languages with Vue I18n:
src/i18n/
├── index.ts # i18n configuration
└── locales/
├── en.json # English translations
└── fr.json # French translations
To add a new language:
- Create a new JSON file in
src/i18n/locales/ - Import it in
src/i18n/index.ts - Add it to the messages object
Create a .env file in the root directory for environment variables:
# Example
VITE_API_URL=https://api.example.comNote: Environment files are automatically ignored by Git for security.
TypeScript cannot handle type information for .vue imports by default, so we use vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.
npm installnpm run devnpm run build# Run all linting tools (ESLint, Stylelint, OXLint)
npm run lint
# Format code with Prettier
npm run format# ESLint
npm run lint:eslint
# OXLint (faster alternative)
npm run lint:oxlint
# Stylelint for CSS/SCSS
npm run lint:style
npm run lint:style:fixThis project requires Node.js version ^20.19.0 || >=22.12.0. Use a version manager like nvm or volta to manage your Node.js versions.