This is a basic VueJs, Vuetify, Vue Router and Vuex skeleton written on JavaScript using async/await. Great for building a starter web app.
This project is created to help other developers create a basic VueJS app in an easy way. This basic example shows how powerful and simple JavaScript and VueJS can be. Do you want to contribute? Pull requests are always welcome to show more features.
Hi! I'm Daniel Avellaneda, I'm an open source enthusiast and devote my free time to building projects in this field.
I'm the creator and maintainer of node-express-mongodb-jwt-rest-api-skeleton and vue-skeleton-mvp
These projects are a "starter web app kit" for any developer who wants to build their own app without starting from scratch: API + Frontend
Both projects have been downloaded thousands of times by web developers around the world.
I'm doing my best to provide you a good experience when using my apps, so if you like what I'm doing and wish to say "thanks!", please buy me a coffee ☕
Feel free to send me a tweet https://twitter.com/davellanedam, share this with others or make a pull request
- Vuetify
- Multiple environment ready (development, production).
- Vue router
- Vuex
- i18n ready.
- Google Analytics ready.
- Ready to add to home screen in iOS and Chrome, checks if there´s an app update every 2 hours and reloads page (When a web app is added as stand alone there´s no reload button in the browser so new .js files from a new build never get loaded)
- Landing page.
- Protected home page.
- Login.
- Signup.
- Forgot password.
- Account verification.
- User profile.
- Users admin area with CRUD operations.
- Cities admin area with CRUD operations.
- Testing with Cypress and mocha/chai.
- NPM script for keeping good source code formatting using prettier and ESLint.
- Use of ESLint for good coding practices.
- Use of prettier for beautiful format.
- Ability to refresh token
- JWT Tokens, make requests with a token after login with
Authorization
header with valueBearer yourToken
whereyourToken
is the signed and encrypted token given in the response from the login process.
A demo of this Frontend is located at: https://vue-demo.daniel-avellaneda.com
email: admin@admin.com
password: 12345
IMPORTANT: Database resets every 30 mins like "12:00am, 12:30am, 1:00am" and so on. So anything you do will be lost after a short time.
Demo is also linked to a Node.js express.js MongoDB JWT REST API project that shows how this frontend can be integrated to an API.
Repo is here: https://github.com/davellanedam/node-express-mongodb-jwt-rest-api-skeleton
Running demo is here: https://api-demo.daniel-avellaneda.com
- Clone the project from github. Change "myproject" to your project name.
git clone https://github.com/davellanedam/vue-skeleton-mvp.git ./myproject
- Download repository
- Uncompress to your desired directory
cd myproject
npm install
npm update
This project uses Vue Router HTML5 History Mode, this means when you are in development mode you can hit Cmd+R (mac) or F5 (Windows) to reload the page and it will work, but when the project is built you will have problems, so will need to do a small change in your web server to make that work. Please read the official Vue Router documentation here: https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations
npm run serve
npm run build
npm run test
npm run lint
npm run remark
npm run test:e2e
npm run test:unit
Feel free to report any bugs or improvements. Pull requests are always welcome.
This project is open-sourced software licensed under the MIT License. See the LICENSE file for more information.