All Projects → erguotou520 → Vue Fullstack

erguotou520 / Vue Fullstack

Licence: mit
vue fullstack template

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Vue Fullstack

Vue Express Webpack Gulp
使用Vue,Express,Webpack,gulp搭建的自动化电影库项目
Stars: ✭ 42 (-85.86%)
Mutual labels:  express, vue2, vue-router2
Social Network
Mini social network that I made as my first web app project.
Stars: ✭ 458 (+54.21%)
Mutual labels:  mongodb, express, socket-io
Imitate One
用vue+webpack + node仿制的One[一个 ]app
Stars: ✭ 216 (-27.27%)
Mutual labels:  express, vue2, vue-resource
Vue Admin Element
(Vue2 演示项目)物业后台管理系统 - ElementUI ( 基本结构已完成, 剩下的就是具体业务开发; 如有疑问请留言 )
Stars: ✭ 73 (-75.42%)
Mutual labels:  vuex2, vue2, vue-router2
Batcave
Batcave client is chat app built with Electron and Angular2, Socket.io with RxJS.
Stars: ✭ 114 (-61.62%)
Mutual labels:  mongodb, express, socket-io
Vue Chat
👥Vue全家桶+Socket.io+Express/Koa2打造一个智能聊天室。
Stars: ✭ 887 (+198.65%)
Mutual labels:  express, vuex2, vue2
Vue Chess
Multiplayer online chess game use Vue , Nodejs, Webpack, Em6, Socket.io, Mongodb, Express
Stars: ✭ 350 (+17.85%)
Mutual labels:  mongodb, express, socket-io
Easy Vue
Learn vueJS Easily 👻
Stars: ✭ 896 (+201.68%)
Mutual labels:  vue2, vue-resource, vue-router2
Vue2 Shop
A shop developed with Vue2 + Vue-router + Axios + Vuex + Node + Express + MongoDB + Webpack
Stars: ✭ 103 (-65.32%)
Mutual labels:  mongodb, express, vue2
Eva
🐳🐬Eva : 优雅,简约的完整博客项目 [前后端] (Eva: A concise, simple Blog Project. [FD/BD]) 🐋
Stars: ✭ 57 (-80.81%)
Mutual labels:  mongodb, express, vue-router2
Vue Cnode
基于vue2 + vue-router + vuet + ES6 + less + flex.css重写vue版cnode社区,使用webpack2打包
Stars: ✭ 1,134 (+281.82%)
Mutual labels:  vuex2, vue2, vue-router2
Vue Node Pastime
😄 基于vue全家桶、nodejs和mongodb的前后端整合项目
Stars: ✭ 200 (-32.66%)
Mutual labels:  mongodb, express, vue2
Magicmusic
🎵帅气的手机端音乐播放器(vue vue-router vuex flex ...)
Stars: ✭ 350 (+17.85%)
Mutual labels:  vuex2, vue2, vue-router2
Vue Qq
🎨 Vue family bucket with socket.io and express/koa2 , create a web version of mobile QQ, supporting real-time group chat, real-time private chat, special care, shielding chat, smart IP geographic location, real-time display temperature and other QQ core functions
Stars: ✭ 861 (+189.9%)
Mutual labels:  express, socket-io, vue2
M Eleme
饿了么移动端单页应用
Stars: ✭ 99 (-66.67%)
Mutual labels:  vue2, vue-resource, vue-router2
Login
Vue + Vue-router + Vuex 实现前端页面及逻辑,Express 实现注册登录登出的RestFul API 。
Stars: ✭ 246 (-17.17%)
Mutual labels:  express, vue2, vue-router2
Mern Crud
A simple records system using MongoDB, Express.js, React.js, and Node.js with real-time CRUD operations using Socket.io
Stars: ✭ 493 (+65.99%)
Mutual labels:  mongodb, express, socket-io
Chat
Stars: ✭ 155 (-47.81%)
Mutual labels:  mongodb, express, socket-io
Myblog
vue + node 实现的一个博客系统
Stars: ✭ 285 (-4.04%)
Mutual labels:  mongodb, express, vue-resource
vue-drag-zone
Drag Zone component for @vuejs
Stars: ✭ 127 (-57.24%)
Mutual labels:  vue2, vue-resource

Logo

Vue fullstack template

MIT Licence vue version

This project's goal is to help people create a reactive, realtime and user friendly backend system.😏

Vue version

This template only support vue2, because it use ElementUI as the default ui library and ElementUI just support vue2.

Requirement

  • Mongodb This project requires mongodb as the database. You can follow it's tutorial to install it if you haven't installed it already. In consideration of the recent mongodb attack event, it's highly recommend to enable auth and disable public login for your mongodb.
  • Basic vue.js skills

About mock and i18n

If you chose to use mock server or not use i18n at project initialization, you need to take a look at this description, else you can skip this step.
As vue-cli does't support to run a task after initialization, you need to run npm run remove:i18n(This script doesn't change the page view which contains change locale in client/src/components/Header.vue and client/src/view/auth/Login.vue, you can remove that code manually.) and npm run remove:mock manually.

Usage

This is a project template for vue-cli. It is recommended to use npm 3+ for a more efficient dependency tree.

# cli version must be greater than 2.8.0
$ npm install -g vue-cli
$ vue init erguotou520/vue-fullstack my-project ## (important hint: don't use a dot in your project name, otherwise it will cause issues with mongodb)
$ cd my-project
$ npm install
# If you chose to use mock server, you need to run remove:mock to change the file structure, otherwise just skip this step
$ npm run remove:mock
# If you chose not to use vue-i18n, you need to run remove:i18n to replace the files with default locale text, otherwise just skip this step
$ npm run remove:i18n
# If you chose to use real backend server, run this script to start an express server
$ npm run server
# If you chose to use mock server, run this script to start a mock server
$ npm run mock
# Open another terminal and cd into my-project
# This runs a frontend dev server
$ npm run client

What's Included

  • vue
  • vue-router
  • vuex
  • vue-i18n
  • vue-resource
  • element-ui
  • express
  • mongoose
  • socket.io
  • mock server

Demo app

* Here is a demo and the demo repo is here
* This is another one

Now the demo apps are generated by ci automatically and pushed to vf-backend|vf-mock branches.

Do not change the password please.

username: admin
password: admin

App structure

├─client               # frontend source folder
│  ├─build             # frontend dev scripts
│  ├─src               # frontend src
│  │  ├─assets
│  │  │  ├─css
│  │  │  ├─fonts
│  │  │  └─images
│  │  ├─components     # vue components
│  │  ├─http           # vue-resource configuration
│  │  ├─locale         # vue-i18n configuration
│  │  ├─router         # vue-router configuration
│  │  ├─socket         # socket.io configuration
│  │  ├─storage        # web storage api
│  │  ├─store          # vuex store
│  │  │  └─modules
│  │  └─view           # app pages
│  │     └─auth
│  └─static            # static folder
├─mock                 # mock server
│  ├─ajax              # ajax mock configs
│  ├─socket            # socket.io mock configs
└─server               # backend server folder
    ├─api              # backend api list
    │  ├─thing
    │  └─user
    ├─auth             # user auth logical
    │  └─local
    ├─components       # server components
    │  └─errors
    ├─config           # server configs, contains express socket.io, etc.
    └─views            # server served pages

Configuration

Most of the configuration is concentrated in the config.js file and most of them have explicit comments. You need to take a look at it first.

Here are some important/frequently-used configurations:

  • frontend.port port that frontend server listens at
  • backend.port port that backend server listen at
  • backend.secrets.session secret for session, important when you deploy your app, make sure it's complex enough
  • backend.mongo.uri change this if your mongodb uri is not matched
  • backend.serverFrontend whether to server the frontend code. If set to true the express server serves the frontend code. Otherwise you may need a http server like nginx to serve frontend code and there is a nginx configuration at nginx.example.conf (default true)

Environment variables

When you deploy your app to you cloud server it's easy to configure youre app with environment variables. Following are supported:

  • APP_port or PORT: set to backend.port
  • APP_HOST or APP_IP or HOST or IP: set to backend.ip
  • MONGODB_URI or MONGOHQ_URI: set to backend.mongo.uri
  • SECRET: set to backend.secrets.session

Notice

The generated app is just a template to build your app system fast. Maybe it can't meet your needs, so you need to do some changes at this issue.

License

Under MIT license

Reference resources

At the end

I am very glad to receive your suggestions and pull request.

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].