Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 2.49 KB

File metadata and controls

44 lines (32 loc) · 2.49 KB
title
About

About

Vitesse is an opinionated Vite starter template made by @antfu for mocking apps swiftly. With file-based routing, components auto importing, markdown support, I18n, PWA and uses UnoCSS for UI.

However, most industry standard applications follow a microservice based modular clean architecture pattern instead of monolithic architecture. Because it gives a better team collaboration advantages and efficient future maintainability. This is exactly what you will get in this repository which is a forked version of vitesse template with some customizations.

  • Apollo GraphQL with Typescript support
  • Tailwind CSS V3 instead of UnoCSS
  • Modular Architecture Pattern with separation of concern

Quick Overview

First thing you will notice there are no components/, pages/, stores/, styles/ folders under the src/ folder. You will see,

  • common/
  • orders/
  • users/

and that's it. Everything has been moved into the common/ folder (global settings). The orders/ and users/ folders are more like modules (modular architecture). In this project, I have made a demo order process using these two modules but in your case, you will delete everything other than the common/ folder. You will add a new module whenever you need it without breaking any changes. The main advantage you can see is that you don't have to jump around different folders to implement a feature that is completely separate from other features (separation of concern). You can add the following folders in each module without any manual imports,

  • components/
  • modules/
  • pages/
  • stores/

I will highly recommend you to try Vitesse using monolithic architecture first. Then you can move to my repo https://github.com/shamscorner/vitesse-stackter-clean-architect when you feel comfortable.

// syntax highlighting example
function vitesse() {
  const foo = 'bar'
  console.log(foo)
}

Check out the GitHub repo for more details.