Skip to content

If you are really into the "Vitesse" starter template created by Anthony Fu (Vue core team member) but want to use the clean architectural pattern instead of monolithic architecture, then you can clone this repo and use your own project. Have fun πŸ™‚!

License

shamscorner/vitesse-stackter-clean-architect

Repository files navigation

Vitesse - Opinionated Vite Starter Template

Mocking up web app with Vitesse(speed)
with modular design pattern.


If you are really into the "Vitesse" starter template created by Anthony Fu (Vue core team member) but want to use the clean architectural pattern instead of monolithic architecture, then you can clone this repo and use your own project. If you want a quick introduction concept, you can read this very short blog post.


Live Demo


Features


Pre-packed

UI Frameworks

  • Tailwind CSS V3 - Rapidly build modern websites without ever leaving your HTML

Icons

Plugins

Coding Style

Dev tools

Variations

As this template is strongly opinionated, the following provides a curated list for community-maintained variations with different preferences and feature sets. Check them out as well. PR to add yours is also welcome!

Official
Community

Try it now!

This project requires Node == 17.6.0

GitHub Template

Create a repo from this template on GitHub.

Clone to local

If you prefer to do it manually with the cleaner git history

npx degit antfu/vitesse my-vitesse-app
cd my-vitesse-app
pnpm i # If you don't have pnpm installed, run: npm install -g pnpm

Checklist

When you use this template, try follow the checklist to update your info properly

  • Change the author name in LICENSE
  • Change the title in App.vue
  • Change the hostname in vite.config.ts
  • Change the favicon in public
  • Remove the .github folder which contains the funding info
  • Clean up the READMEs and remove routes
  • Update client service url for Apollo GraphQL in apollo.config.js if you use GraphQL API
  • Update http link for GraphQL API in src/common/ApolloClient.ts if you use GraphQL API

And, enjoy :)

Usage

Development

Just run and visit http://localhost:3333

pnpm dev

Build

To build the App, run

pnpm build

And you will see the generated file in dist that ready to be served.

Separation of Concerns

  • Create separate folder for each module and place them under /src folder
  • The following folders are auto imported within each module
    • components/
    • modules/
    • pages/
    • stores/
  • Place all the layouts in the common/layouts folder
  • Place all the custom styles in the common/styles folder and import them into main.css

Deploy on Netlify

Go to Netlify and select your clone, OK along the way, and your App will be live in a minute.

Docker Production Build

First, build the vitesse image by opening the terminal in the project's root directory.

docker buildx build . -t vitesse:latest

Run the image and specify port mapping with the -p flag.

docker run --rm -it -p 8080:80 vitesse:latest

Why

I have created several Vite apps recently. Setting the configs up is kinda the bottleneck for me to make the ideas simply come true within a very short time.

So I made this starter template for myself to create apps more easily, along with some good practices that I have learned from making those apps. It's strongly opinionated, but feel free to tweak it or even maintains your own forks. (see community maintained variation forks)

About

If you are really into the "Vitesse" starter template created by Anthony Fu (Vue core team member) but want to use the clean architectural pattern instead of monolithic architecture, then you can clone this repo and use your own project. Have fun πŸ™‚!

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project