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.
Before contributing please read the following:
- RealWorld guidelines for implementing a new framework,
- RealWorld frontend instructions
- Realworld API endpoints
- Vue.js styleguide. Priority A and B categories must be respected.
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
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.
Where can I find the service worker file?
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
Vue.js Function API / Migration to Vue.js 3
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.
Join us on Discord