huogerac / crud-vuetify-structured-template

A great way to structure and bootstrap VueJS + Vuetify + API projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

crud-vuetify-structured-template boilerplate

GitHub issues GitHub stars GitHub license code style: prettier

πŸ’» A full-featured Vuejs + Vuetify + Great structure project template + API Ready

πŸ‘‰ It's using latest VueJS 2 and Vuetify 2

VueJS 3 + Vuetify 3 + Vite is coming soon 😎

Requirements

It's exactly the same as the VueJS projects, basicly you'll need a NodeJS installation. Check the links below out for more details:

Quick start

$ npm i -g @vue/cli-init
$ vue init huogerac/crud-vuetify-structured-template my-project
$ cd my-project
$ npm install   # Or yarn
$ npm run dev   # See the package.json / scripts

Note: The npm run dev will run the api mock and vuejs server, check the package.json out for running separeted which one.

Why using this boilerplate ❓

  • Focus on the business and creating value
  • Faster project setup
  • Standard project structure organization (easy to scale)
  • Easy to remove / rename features
  • DRY (I was doing those setup steps over and over again)
  • I don't want to be backend API dependent (Faster development using API Mocking)

What's Included πŸŽ‰

  • VueJS (2) + Vuetify configured
  • Page inheritance (Layout)
    • Home Task's list
    • Create, Update and Delete Task
    • Error pages (404, 500)
  • Vue Router to be scalable
  • API Ready (using Axios)
  • API Mock (using json-server)
  • Pure components
  • Linter + Code style (Prettier)

Structure

β”œβ”€β”€ apiMock                πŸ‘‰ The sub-project for the API mock
β”‚   └── server
β”‚       db.json            πŸ‘‰ The API data (mock)
β”œβ”€β”€ public
β”‚     favicon.ico
β”œβ”€β”€ package.json           πŸ‘‰ Project/Package Manifest
β”œβ”€β”€ .prettierrc.js         πŸ‘‰ Code Style
β”œβ”€β”€ .env                   πŸ‘‰ Set environment var for development
└── src
    β”œβ”€β”€ router             πŸ‘‰ #1 App routes
    β”‚   β”œβ”€β”€ index.js
    β”‚   └── tasks.api.js       πŸ‘‰ Routers by context
    β”œβ”€β”€ pages              πŸ‘‰ #2 App pages (App pages/views)
    β”‚   β”œβ”€β”€ layouts            πŸ‘‰ Pages bases
    β”‚   β”‚   └── Public.vue
    β”‚   └── public             πŸ‘‰ Pages by context
    β”‚       β”œβ”€β”€ 500.vue
    β”‚       └── Home.vue       πŸ‘‰ VueJS "SMART" components
    β”œβ”€β”€ components         πŸ‘‰ #3 VueJS "DUMP" components
    β”‚   └── visual             πŸ‘‰ Pure components**
    β”œβ”€β”€ api                πŸ‘‰ #4 API folder
    β”‚   β”œβ”€β”€ index.js
    β”‚   └── tasks.api.js       πŸ‘‰ API endpoints by context
    β”œβ”€β”€ mixins             πŸ‘‰ Anything used cross components
    β”‚   └── ApiResponse.vue
    β”œβ”€β”€ filters            πŸ‘‰ VueJS template filters
    β”‚   └── dateFilter.js
    β”œβ”€β”€ assets
    β”‚   └── some-image.jpg
    └── plugins
      └── vuetify.js

Screenshots

Contribute πŸš€

Any help is more than welcome...

  • πŸ‘‰ It could be an Issue
  • πŸ’» It could be using it and give a feedback
  • 🌟 It could be a github star
  • πŸ€” It could be a question ( Use the Issues )
  • πŸ€” If you hate this project, feel free to tell us what is wrong with it

Alternatives βš™οΈ

  • If you know great vuejs project templates, please, add it here

Extra Documentation

About

A great way to structure and bootstrap VueJS + Vuetify + API projects

License:MIT License


Languages

Language:Vue 66.3%Language:JavaScript 28.7%Language:HTML 4.8%Language:Shell 0.2%