Skip to content

Vue + Pinia + TypeScript + Vite + Vitest + Playwright + Tailwind + ESLint + Prettier

License

Notifications You must be signed in to change notification settings

ADPC-LLC/Vue.JS-3-Dev-Template-2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vue.JS 3 Logo — A Vue 3 Starting Template


🔭 This template can be used as a default starting Repository for Vue-based App Development.

The following Functionality is built-in.

  1. Ni Package Manager - Smart, Automated Package Management.
  2. TypeScript - For Config & Dev Work.
  3. ESLint Power Linter.
  4. Prettier Code Formating.
  5. Vite Builder & Bundler.
  6. Pinia State Manager.
  7. Vitest - For Unit & Feature Tests.
  8. Playwright Testing Suite - For all tests Playwright can be used for.
  9. Cypress Testing Suite - For all tests Cypress can be used for.
  10. Tailwind CSS - A Utility CSS framework
  11. PostCSS - A tool for transforming CSS with JavaScript.
  12. Sass CSS - Syntactically Awesome Style Sheets
  13. Native CSS - MDN CSS reference

Vue-Specific Add-on Features

  • Vue Router - The official Router for Vue.js
  • Path Aliasing - Configure Path Alias maps to speed-up TS Dev Work
  • Example Components - UI Agnostic
  • Auto-import Functionality
  • Authorization & Authentication
  • REST API Composable
  • GraphQL API Composable

VS Code Extensions for Vue Dev Work

The following recommended IDE Extensions are not exclusive nor inclusive, as it depends a great deal on personal preferences, actual IDE used, and the type of projects getting developed on said Dev Platform.


General Performance-Consideration Approaches Applied

  1. Limitting Component Abstractions
  2. Apply Lazy-loading to FCP Bundle size
  3. Optimise Event Handling using Modifiers
  4. Optimise Media Assets
  5. Implement Server Side Rendering (SSR)
  6. Check the Core Web Vitals

The Template Structure

Template Directory Structure


Adding Unit, Integration, Functional | Feature, and E2E Test Capabilities

Apart from using Vitest for entry-level testing, additional Test capabilities using Playwright's & Cypress' Platforms will be added as the template gets expanded with sample standard best-practise methods and features.

The intent is to add Acceptance and performance Testing Functionality entry-points as well. These tests should obviously expand to include API testing from a Frontend Framework's prespective as well.

This will also roll-over into a formal CI/CD pipeline getting added using Git-based workflows supported by a local Jenkins configuration.

Adding Generic Forms and UI Components

Generic Forms, Components and other standard-use Design Elements will be added as this template gets expanded.

The aim is to provide a low-friction entry-point for easily adding popular Vue and Nuxt UI frameworks as a particular preference or requirement.

Tailwind CSS supported by PostCSS is built in, and configured to catering for cases where Sass CSS, Less, or vanilla CSS classes might be needed.

Autentication, Authorization & Encryption Foundations

The template will be pre-configured to apply foundational security principles. Apart from the obvious Auth processes and access management considered a minimum "must-have" demonstrated by Vue Authenticate, and Nuxt Auth Utils, the template caters for a best-practise approach to HTTP2/3 secure header employment by building on good CSP practices, as well.

To cater for the evolution in Authentication technologies Cerbos's JS SDK and Auth Policy PDP approaches are included. These base-line Auth Policies will enable easy secure integration with REST and GraphQL APIs which might be employed by the Vue SPA only or when combined with a Backend framework of choice.

As a final part security related, the template will be adapted to include interfacing with Rust-based Web Assembly Modules for high quality Encryption | Decryption technology, aimed at surpassing the NIST standards. Options currently considered to achieve these goals are from Avarok Cybersecurity and Terra Quantum.

SEO and SERP Foundations

Depending on how a Vue Application is configured to run, either as SSR or Client-based, SEO and the required SERP results still remain a crucial Business focuspoint. The template allows for employing both static and dynamic Metadata management. Some example guidelines were gained from Vue Meta.


About

Vue + Pinia + TypeScript + Vite + Vitest + Playwright + Tailwind + ESLint + Prettier

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages