{"id":13775392,"url":"https://github.com/erguotou520/vue-fullstack","last_synced_at":"2025-10-12T07:42:42.405Z","repository":{"id":42398180,"uuid":"61994384","full_name":"erguotou520/vue-fullstack","owner":"erguotou520","description":"vue fullstack template","archived":false,"fork":false,"pushed_at":"2018-04-16T17:55:09.000Z","size":2307,"stargazers_count":296,"open_issues_count":3,"forks_count":66,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-09T18:17:45.399Z","etag":null,"topics":["express","mock-server","mongodb","socket-io","vue-fullstack","vue-resource","vue-router2","vue2","vuex2"],"latest_commit_sha":null,"homepage":"https://vf-backend.herokuapp.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erguotou520.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-26T15:07:42.000Z","updated_at":"2025-03-23T22:50:30.000Z","dependencies_parsed_at":"2022-08-27T02:07:44.349Z","dependency_job_id":null,"html_url":"https://github.com/erguotou520/vue-fullstack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erguotou520%2Fvue-fullstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erguotou520%2Fvue-fullstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erguotou520%2Fvue-fullstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erguotou520%2Fvue-fullstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erguotou520","download_url":"https://codeload.github.com/erguotou520/vue-fullstack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085321,"owners_count":21045139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","mock-server","mongodb","socket-io","vue-fullstack","vue-resource","vue-router2","vue2","vuex2"],"created_at":"2024-08-03T17:01:37.983Z","updated_at":"2025-10-12T07:42:37.361Z","avatar_url":"https://github.com/erguotou520.png","language":"JavaScript","readme":"![Logo](./assets/images/logo.png)\n# Vue fullstack template\n![](https://travis-ci.org/erguotou520/vue-fullstack.svg?branch=master)\n![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)\n![vue version](https://img.shields.io/badge/vue-2.x-brightgreen.svg)\n\nThis project's goal is to help people create a **reactive, realtime and user friendly** backend system.:smirk:\n\n## Vue version\nThis template only support vue2, because it use `ElementUI` as the default ui library and `ElementUI` just support vue2.\n\n## Requirement\n- `Mongodb` This project requires `mongodb` as the database. You can follow [it's tutorial](https://docs.mongodb.com/manual/administration/install-community/) to install it if you haven't installed it already. In consideration of the recent [mongodb attack event](https://www.bleepingcomputer.com/news/security/mongodb-apocalypse-is-here-as-ransom-attacks-hit-10-000-servers/), it's highly recommend to enable auth and disable public login for your mongodb.\n- Basic `vue.js` skills\n\n## About mock and i18n\nIf 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.  \nAs `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.\n\n## Usage\nThis is a project template for vue-cli. It is recommended to use npm 3+ for a more efficient dependency tree.\n```shell\n# cli version must be greater than 2.8.0\n$ npm install -g vue-cli\n$ 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)\n$ cd my-project\n$ npm install\n# If you chose to use mock server, you need to run remove:mock to change the file structure, otherwise just skip this step\n$ npm run remove:mock\n# 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\n$ npm run remove:i18n\n# If you chose to use real backend server, run this script to start an express server\n$ npm run server\n# If you chose to use mock server, run this script to start a mock server\n$ npm run mock\n# Open another terminal and cd into my-project\n# This runs a frontend dev server\n$ npm run client\n```\n\n## What's Included\n- `vue`\n- `vue-router`\n- `vuex`\n- `vue-i18n`\n- `vue-resource`\n- `element-ui`\n- `express`\n- `mongoose`\n- `socket.io`\n- `mock server`\n\n## Demo app\n~~* Here is a [demo](https://vue-fullstack-demo.herokuapp.com) and the demo repo is [here](https://github.com/erguotou520/vue-fullstack-demo)~~  \n~~* This is [another one](http://meals.erguotou.me)~~\n\nNow the demo apps are generated by ci automatically and pushed to `vf-backend`|`vf-mock` branches.\n- [Backend server demo](https://vf-backend.herokuapp.com)\n- [Mock server demo](https://vf-mock.herokuapp.com/)\n\n*Do not change the password please.*\n```\nusername: admin\npassword: admin\n```\n\n## App structure\n```\n├─client               # frontend source folder\n│  ├─build             # frontend dev scripts\n│  ├─src               # frontend src\n│  │  ├─assets\n│  │  │  ├─css\n│  │  │  ├─fonts\n│  │  │  └─images\n│  │  ├─components     # vue components\n│  │  ├─http           # vue-resource configuration\n│  │  ├─locale         # vue-i18n configuration\n│  │  ├─router         # vue-router configuration\n│  │  ├─socket         # socket.io configuration\n│  │  ├─storage        # web storage api\n│  │  ├─store          # vuex store\n│  │  │  └─modules\n│  │  └─view           # app pages\n│  │     └─auth\n│  └─static            # static folder\n├─mock                 # mock server\n│  ├─ajax              # ajax mock configs\n│  ├─socket            # socket.io mock configs\n└─server               # backend server folder\n    ├─api              # backend api list\n    │  ├─thing\n    │  └─user\n    ├─auth             # user auth logical\n    │  └─local\n    ├─components       # server components\n    │  └─errors\n    ├─config           # server configs, contains express socket.io, etc.\n    └─views            # server served pages\n```\n\n## Configuration\nMost 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.\n\nHere are some important/frequently-used configurations:\n- `frontend.port` port that frontend server listens at\n- `backend.port` port that backend server listen at\n- `backend.secrets.session` secret for session, important when you deploy your app, make sure it's complex enough\n- `backend.mongo.uri` change this if your mongodb uri is not matched\n- `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)\n\n## Environment variables\nWhen you deploy your app to you cloud server it's easy to configure youre app with `environment variables`. Following are supported:  \n- `APP_port` or `PORT`: set to `backend.port`\n- `APP_HOST` or `APP_IP` or `HOST` or `IP`: set to `backend.ip`\n- `MONGODB_URI` or `MONGOHQ_URI`: set to `backend.mongo.uri`\n- `SECRET`: set to `backend.secrets.session`\n\n## Notice\nThe 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.\n\n## License\nUnder [MIT license](./LICENSE)\n\n## Reference resources\n- [generator-angular-fullstack](https://github.com/angular-fullstack/generator-angular-fullstack) most express code are copied from this repo :kissing_heart:\n- [ElementUI](http://element.eleme.io/) design page fast and easy :+1:\n\n## At the end\nI am very glad to receive your suggestions and pull request.\n","funding_links":[],"categories":["开发框架","Awesome Vue.js [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)"],"sub_categories":["Libraries \u0026 Plugins"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferguotou520%2Fvue-fullstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferguotou520%2Fvue-fullstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferguotou520%2Fvue-fullstack/lists"}