The boilerplate of Vue v3, Typescript, Vite, Vue Router, Pinia, Axios, Tailwind CSS, Vue Query, VeeValidate, Zod, and Vue i18n for buildings efficient, faster, maintainable, and scalable for enterprise applications.
- β What's Included?
- ποΈ Core Dependencies
- ποΈ Project Structure
- π Getting Started
- π‘ Scripts
- π License
- Authentication: Provides a secure login system for users.
- Authorization: Implements role-based access control to manage user permissions.
- Multiple Language: Supports localization and enables users to switch between different languages.
- Form Validation: Includes form validation functionality to ensure data integrity and improve user experience.
- Error Handling: Handles and displays error messages in a user-friendly manner.
- API Integration: Integrates with external APIs to fetch data and provide dynamic content.
- Theme (Light/Dark/System): Offers a choice of light, dark, or system-based theme for a personalized user experience.
- Responsive Design: Ensures the application is optimized for various screen sizes and devices.
- Testing: Includes a test suite with unit tests and integration tests for reliable code quality.
- Documentation: Provides comprehensive documentation to guide developers and users.
.
βββ public/
β βββ assets
β β βββ fonts
| | βββ images
β βββ favicon.ico
βββ src
β βββ App.vue
β βββ assets
β β βββ images
β β β βββ logo.svg
β β βββ styles
β β βββ main.css
β βββ components
β β βββ index.ts
β β βββ shared
β β βββ theme-switcher
β β βββ ui
β β β βββ Avatar.vue
β β β βββ Button.vue
β β β βββ Card.vue
β β β βββ ...
β β βββ vee-validate
β β βββ CheckboxField.vue
β β βββ CheckboxGroupField.vue
β β β βββ ...
β βββ composables
β βββ constants
β βββ http
β β βββ axios
β β β βββ index.ts
β β β βββ interceptor.ts
β β βββ index.ts
β βββ layouts
β βββ locales
β β βββ en.ts
β β βββ index.ts
β β βββ km.ts
β βββ main.ts
β βββ modules
β β βββ auth
β β β βββ LoginView.vue
β β β βββ authenticationService.ts
β β β βββ authenticationType.ts
β β β βββ loginSchema.ts
β β β βββ routes.ts
β β β βββ useAuth.ts
β β βββ current-user
β β β βββ currentUserApi.ts
β β β βββ currentUserStore.ts
β β β βββ currentUserType.ts
β β βββ dashboard
β β β βββ DashboardView.vue
β β β βββ OverviewView.vue
β β β βββ RecentSales.vue
β β βββ exception
β β β βββ NotFound.vue
β β β βββ UnauthorizeView.vue
β βββ router
β β βββ guards.ts
β β βββ index.ts
β β βββ privateRoutes.ts
β β βββ publicRoutes.ts
β βββ services
β β βββ localStorage.ts
β βββ types
β β βββ index.ts
β β βββ index.ts
β βββ utils
β βββ common
β βββ crypto
β βββ env.ts
βββ types
β βββ env.d.ts
β βββ global.d.ts
β βββ router.d.ts
βββ package.json
βββ pnpm-lock.yaml
βββ postcss.config.js
βββ tailwind.config.js
βββ tsconfig.app.json
βββ tsconfig.json
βββ tsconfig.node.json
βββ vite.config.ts
βββ ...
-
Node Js version
v20+
. The current Long Term Support (LTS) release is an ideal starting point. -
Visual Studio Code. Visual Studio Code is the free and open-sourced code editor. It is one of the top most editor used especially for JavaScript application development.
Recommended Plugin for VSCode
-
Clone this repository to your computer:
https://github.com/saymenghour/vue3-enterprise-boilerplate.git cd vue3-enterprise-boilerplate code .
-
Run command below to ignore git case-sensitive filename
git config --global core.ignorecase false
-
From the project's root directory, install the required packages (dependencies):
pnpm install
-
Create environment files:
cp .env.example .env
-
Set up the environment variables.
-
To run the app on your local machine:
pnpm dev
-
Build for production
pnpm build
This will gracefully stop the container without affecting its data or configuration.
Happy Coding :)
The following scripts are available:
Script | Action |
---|---|
pnpm install |
Installs the project dependencies. |
pnpm dev |
Runs the application in development mode. |
pnpm build |
Builds the production-ready optimized bundle. |
pnpm preview |
Starts the preview server using Vite. |
pnpm lint |
Runs ESLint to lint the project files and fix any issues. |
pnpm format |
Formats the source code using Prettier. |
This project is licensed under the MIT License.