Here’s an organized and easy-to-follow version of your note for online publication:


Steps to Set Up a Vue 3 Project with TypeScript, Tailwind CSS, and Other Useful Libraries

  1. Create the Vue 3 project with TypeScript template

    npm create vue@latest my-app -- --template vue-ts
  2. Install required dependencies

    npm install tailwindcss postcss autoprefixer axios vue-router @vueuse/core @vueuse/motion lucide-vue-next vue-i18n vue-toastification@next yup
  3. Initialize Tailwind CSS

    npx tailwindcss init -p

Project Structure

src Folder Structure

src
├── assets
│   ├── styles
│   │   ├── base.css
│   │   ├── tailwind.css
│   │   ├── variables.css
│   └── images
│       └── logo.png
├── components
│   ├── common
│   │   ├── Button.vue
│   │   ├── Modal.vue
│   │   └── InputField.vue
│   ├── layout
│   │   ├── AppHeader.vue
│   │   ├── AppSidebar.vue
│   │   ├── AppFooter.vue
│   └── navigation
│       └── Breadcrumbs.vue
├── composables
│   ├── useAuth.ts
│   ├── useFetch.ts
│   ├── useToast.ts
│   └── index.ts
├── i18n
│   ├── en.json
│   ├── fr.json
│   └── index.ts
├── layouts
│   ├── DefaultLayout.vue
│   ├── AuthLayout.vue
│   └── AdminLayout.vue
├── middleware
│   ├── auth.ts
│   ├── guest.ts
│   └── admin.ts
├── modules
│   ├── dashboard
│   │   ├── components
│   │   │   └── DashboardCard.vue
│   │   ├── views
│   │   │   └── DashboardView.vue
│   │   └── store.ts
│   └── users
│       ├── components
│       │   └── UserCard.vue
│       ├── views
│       │   ├── UserListView.vue
│       │   ├── UserDetailView.vue
│       └── store.ts
├── router
│   ├── modules
│   │   ├── dashboardRoutes.ts
│   │   ├── authRoutes.ts
│   │   └── userRoutes.ts
│   └── index.ts
├── services
│   ├── apiClient.ts
│   ├── authService.ts
│   └── userService.ts
├── store
│   ├── modules
│   │   ├── auth.ts
│   │   ├── user.ts
│   │   └── settings.ts
│   └── index.ts
├── utils
│   ├── constants.ts
│   ├── helpers.ts
│   └── validationSchema.ts
├── views
│   ├── HomeView.vue
│   ├── LoginView.vue
│   ├── RegisterView.vue
│   └── Error404View.vue
├── App.vue
├── main.ts
├── shims-vue.d.ts
└── env.d.ts

Key Libraries Included

  • Tailwind CSS: For utility-first styling.
  • Axios: For HTTP requests.
  • Vue Router: For routing between pages.
  • VueUse: A collection of useful composition API functions.
  • Lucide Vue Next: For scalable vector icons.
  • Vue I18n: For internationalization (i18n) support.
  • Vue Toastification: For easy-to-use toast notifications.
  • Yup: For form validation schema.