All Projects → what-crud → Vue Crud

what-crud / Vue Crud

Licence: mit
Vue.js based REST-ful CRUD system

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Vue Crud

Vue Element Starter
Vue starter with Element-UI [READY, unmaintained now]
Stars: ✭ 216 (-65.66%)
Mutual labels:  webpack, boilerplate, vuex, vuejs2
Laravel Vuetify Spa
Laravel-Vue SPA starter project template with Vuetify frontend.
Stars: ✭ 73 (-88.39%)
Mutual labels:  material-design, vuex, vuetify, spa
Vuetify Todo Pwa
✔️ A simple Todo PWA built with Vue CLI 3 + Vuex + Vuetify.
Stars: ✭ 160 (-74.56%)
Mutual labels:  material-design, vuex, vuetify, vuejs2
Vue Soundcloud
🎧 A SoundCloud client built with Vue and Nuxt
Stars: ✭ 141 (-77.58%)
Mutual labels:  vuex, vuejs2, spa, single-page-app
Spala
Spala (SPA LARAVEL): a modern lightweight CMS for Laravel and Vue developers (open source project).
Stars: ✭ 91 (-85.53%)
Mutual labels:  cms, vuex, vuejs2, single-page-app
Dashboard
A dashboard scaffolding based on Vue.js 3.0 created by Vite.
Stars: ✭ 497 (-20.99%)
Mutual labels:  webpack, vuex, vuejs2
Jsonapi Vuex
Use a JSONAPI api with a Vuex store, with data restructuring/normalization.
Stars: ✭ 123 (-80.45%)
Mutual labels:  rest, vuex, vuejs2
React App
Create React App with server-side code support
Stars: ✭ 614 (-2.38%)
Mutual labels:  webpack, boilerplate, single-page-app
Roastandbrew
Updated content available! We learned a lot since we originally wrote this article. We now have this updated for Laravel 8, Vue, and NuxtJS 👉 https://srvrsi.de/book
Stars: ✭ 300 (-52.31%)
Mutual labels:  vuex, vuejs2, spa
Vue Home
🏠 A simple project(Vue Community SPA) which bases on vue+vue-cli+vue-router+axios+ scss.
Stars: ✭ 256 (-59.3%)
Mutual labels:  webpack, vuex, vuejs2
Vue Project
基于vue-cli构建的财务后台管理系统(vue2+vuex+axios+vue-router+element-ui+echarts+websocket+vue-i18n)
Stars: ✭ 301 (-52.15%)
Mutual labels:  webpack, vuex, vuejs2
Golang Gin Realworld Example App
Exemplary real world application built with Golang + Gin
Stars: ✭ 1,780 (+182.99%)
Mutual labels:  rest, crud, boilerplate
Starter Lapis
Cutting edge starter kit
Stars: ✭ 72 (-88.55%)
Mutual labels:  rest, webpack, boilerplate
cakephpvue-spa
A CakePHP + VueJS single page application skeleton/boilerplate.
Stars: ✭ 40 (-93.64%)
Mutual labels:  crud, spa, single-page-app
Vue Cnode
🔥Vue.js打造一个开源的CNode社区。CNode by Vue.js
Stars: ✭ 249 (-60.41%)
Mutual labels:  webpack, vuex, vuejs2
Plato
❤️ a Boilerplate for [mobile] SPAs use vue, vuex, vue-router
Stars: ✭ 283 (-55.01%)
Mutual labels:  boilerplate, vuex, spa
Vue Cms
基于 Vue 和 ElementUI 构建的一个企业级后台管理系统
Stars: ✭ 415 (-34.02%)
Mutual labels:  webpack, cms, vuex
Vue2 Echo
基于vue2 + vue-router + vuex 构建的一个音乐类单页面应用 —— echo回声
Stars: ✭ 408 (-35.14%)
Mutual labels:  webpack, vuex, spa
Beauty Vuejs Boilerplate
❤️ Real world base Vue.js app. Access/refresh tokens auth, api services, http client, vuex modules
Stars: ✭ 583 (-7.31%)
Mutual labels:  boilerplate, vuex, spa
Purpleadmin Free Admin Template
Purple Admin is one of the most stylish Bootstrap admin dashboard you can get hands on. With its beautifully crafted captivating design and well-structured code.
Stars: ✭ 473 (-24.8%)
Mutual labels:  cms, crm, material-design

the project is not supported

If you want to contribute to this project please fork from this project or email me to add you to what-crud group

Vue CRUD

license version build PRs Gitpod Ready-to-Code

Vue.js based REST-ful CRUD system.

  • Vue CRUD allows to create both a mechanism for managing a single table, as well as a CMS or extended CRM with a login system and modules
  • Application built with Vue CRUD is SPA (Single Page Application) so it works much faster than apps based on Wordpress, Joomla, etc.
  • Vue CRUD uses the vue along with its ecosystem (Vuex, Vuetify, etc). Enjoy the benefits of the most popular JS framework in the world.
  • The application architecture is adapted to work with REST API

Vue CRUD demo

Functions

Vue CRUD provides a set of utilities, from which you can compose your own application. Features included in the system can communicate with each other thanks to the use of the Vuex library. Vue CRUD includes the following elements:

  • CRUD | DEMO / SANDBOX:
    • operations on records:
      • Store,
      • Update,
      • Suspend/Restore,
      • Delete,
      • Multiple update,
      • Multiple Suspend/Restore,
      • Multiple Delete
    • filtering:
      • Show active/inactive records,
      • Search phrase in whole table,
      • Search phrase in selected column (exact, like and list mode)
    • items view versions:
      • client side (small tables),
      • server side (big tables)
    • items view types:
      • table,
      • NEW! tree
    • other functions and features:
      • datatable mechanism allows selection of the number of records per page, page transition and sorting,
      • management of a child table from the parent table module,
      • export to excel (xlsx),
      • table refreshing,
  • Authentication system | DEMO / SANDBOX:
    • login form (built-in communication with API, validation),
    • optional locale selection,
    • redirecting to the app,
  • App layout components | DEMO / SANDBOX:
    • Toolbar (with optional elements):
      • title,
      • logo,
      • user profile,
      • locale selection,
      • logout,
      • slots for developer
    • Sidebar:
      • List of routes,
      • Slot for title or user avatar,
      • Slot for developer,
      • Customizable sidebar behaviour
    • Alerts system,
    • Footer,
    • ... and others

The record creation / editing form supports the following types of fields:

  • Input,
  • Number,
  • Decimal
  • Textarea,
  • Rich Text Box,
  • Select (hardcoded list or obtained from API),
  • Datepicker,
  • Timepicker,
  • Checkbox,
  • Files,
  • NEW! Dynamic (user can select field type separately for each record),
  • NEW! Custom (with slots)

Support for mobile devices

App layout on desktop...

app layout on desktop

... and on mobile device

app layout on mobile device

Demo versions

DEMO / SANDBOX

CRM DEMO

Credentials with limited privileges (readonly):
Login: [email protected]
Pass: ajSGenC0
To get full user account, contact me on my company site.

Quick start

Do you want to test the application quickly, and you do not have an API ready? No problem, you can use the ready-made example in the examples folder. The API for this example is available on the internet, so you can connect to it by entering its address in the configuration file.

Steps

  1. Clone Vue CRUD:
git clone [email protected]:what-crud/vue-crud.git
  1. Type following commands:
yarn
:: or
npm install
  1. Choose one of the following templates:
  • empty,
  • simple-crud,
  • sandbox,
  • crm,
  • cms

...and type e.g.:

yarn load-template simple-crud
:: or
npm run load-template simple-crud
  1. If you have your own API prepared, modify src/config/api.js file.

  2. Serve your app:

yarn serve
:: or
npm run serve
  1. Your app is already running (probably at http://localhost:8080).

Usage

The simplest possible code that supports CRUD operations for one table will look something like this:

<template>
  <div>
    <crud
      :prefix="prefix"
      :path="path"
      :page-title="pageTitle"
      :fields-info="fieldsInfo"
      :details-title="$t('detailsTitle')"
    >
    </crud>
    <alert-box></alert-box>
  </div>
</template>

<script>
  import Crud from '@/utils/crud/components/Crud.vue'
  import AlertBox from "@/utils/app/components/AlertBox.vue";
  export default {
    data() {
      return {
        prefix: 'demo',
        path: 'tasks',
        pageTitle: 'demo.tasks',
      }
    },
    computed: {
      fieldsInfo() {
        return [{
            text: this.$t('fields.id'),
            name: 'id',
            details: false,
          },
          {
            type: 'input',
            column: 'name',
            text: this.$t('fields.name'),
            name: 'name',
            multiedit: false
          },
          {
            type: 'input',
            column: 'description',
            text: this.$t('fields.description'),
            name: 'description',
            required: false
          },
        ]
      },
    },
    components: {
      Crud,
      AlertBox,
    },
    i18n: {
      messages: {
        en: {
          detailsTitle: 'Task',
          fields: {
            id: 'Id',
            name: 'Name',
            description: 'Description'
          }
        }
      }
    },
  }
</script>

API

The application requires a connection with the appropriate API. API can be created in any technology - the condition is its compliance with the Vue CRUD communication specification. If you need to create your API and do not know how to get started, and you don't mind PHP and Laravel, download or clone the Laravel CRUD API project.

Documentation

To check out docs, visit :

vue-crud.github.io.

Contributing

If you have an idea about improving Vue CRUD, do not hesitate.

Developers interested in contributing should read the Code of Conduct.

License

MIT

Copyright (c) 2018-present, Szczepan Masny

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].