March 28, 2020

434 words 3 mins read

gothinkster/vue-realworld-example-app

gothinkster/vue-realworld-example-app

An exemplary real-world application built with Vue.js, Vuex, axios and different other technologies. This is a good example to discover Vue for beginners.

repo name gothinkster/vue-realworld-example-app
repo link https://github.com/gothinkster/vue-realworld-example-app
homepage https://vue-vuex-realworld.netlify.com
language JavaScript
size (curr.) 3669 kB
stars (curr.) 2717
created 2017-12-19
license MIT License

RealWorld Frontend JavaScript Style Guide

RealWorld Example App

Vue.js codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.

Project demo is available at https://vue-vuex-realworld.netlify.com/#/

This codebase was created to demonstrate a fully fledged fullstack application built with Vue.js including CRUD operations, authentication, routing, pagination, and more.

We’ve gone to great lengths to adhere to the Vue.js community styleguides & best practices.

For more information on how to this works with other frontends/backends, head over to the RealWorld repo.

Getting started

Before contributing please read the following:

  1. RealWorld guidelines for implementing a new framework,
  2. RealWorld frontend instructions
  3. Realworld API endpoints
  4. Vue.js styleguide. Priority A and B categories must be respected.
  5. Editorconfig setup. Most of the common editors support editorconfig by default (check the editorconfig download link for your ide), but editorconfig npm package have to installed globally for it to work,
# install editorconfig globally
> npm install -g editorconfig

The stack is built using vue-cli webpack so to get started all you have to do is:

# install dependencies
> yarn install
# serve with hot reload at localhost:8080
> yarn serve

Other commands available are:

# build for production with minification
yarn run build

# run unit tests
yarn test

To know

Current arbitrary choices are:

  • Vuex modules for store
  • Vue-axios for ajax requests
  • ‘rwv’ as prefix for components

These can be changed when the contributors reach a consensus.

FAQ

The service worker file is generated automatically. The implementation can be found under src/registerServiceWorker.js. You can find the dependencies implementation in this repo: yyx990803/register-service-worker.

Also, Google provided a good documentation on how to register a service worker: https://developers.google.com/web/fundamentals/primers/service-workers/registration

Related resources:

Vue.js 3 will likely introduce breaking changes on how Vue.js applications will look like. For example, the Vue.js Function API might be introduced. This would cause a lot of our components to change in the overall structure. The changes would be minimal though. With the vue-function-api plugin, these changes could be applied already. The problem is that multiple integrations are not working with the plugin. There are intentions to make this work, but for the time being, we should rather focus on different areas. If you still want to be experimental with it, we are happy to get a Pull Request with some experimental feature implementations.

Connect

Join us on Discord

comments powered by Disqus