A simple social media web app built with Vue.js and Firebase's Cloud Firestore as a way to teach people how to build a real-world app using the two technologies. Follow along with our tutorial, Building a Real-World Web App With Vue.js and Firebase, to learn core Vue.js concepts and build this project.
We just released a major update in July 2020! This release includes the current Vue CLI, async/await instead of promise chaining, and a structure overhaul incorporating updated best practices. The flow remains unchanged with some updates to match the current Firebase SDK. All code for the rewrite can be found in the project's master
branch, while the old code remains in original-deprecated
for posterity.
Changelog:
- Complete rewrite of existing project
- Async/Await instead of promise chaining
- More components vs. same file functionality
- Leveraging more actions vs. in-component requests to handle Firebase methods
- Simplified Firebase integration
In building this project, you'll learn how to:
- Start a production-ready project using Vue CLI.
- Handle and manage state for your app using Vuex. You'll also understand why a central store is important for building large-scale apps.
- Maintain reactivity within your app by utilizing built-in Vuex features.
- Authenticate routes with vue-router.
- Read/write to a database using Firebase's Cloud Firestore.
- Set up authentication using Firebase.
- Leverage components, one of the more powerful features of Vue.js.
- Familiarize yourself with core Vue.js concepts.
This app uses the Vue CLI to scaffold a basic skeleton for the app and multiple npm packages. Refer to the tutorial to learn how to set up a production-ready version of this app using Vue CLI. You will need node.js installed on your computer to run this app locally. Download it at https://nodejs.org/ if you haven't already. Follow the instructions below to get up and running.
# install dependencies
npm install
# start local server @ localhost:8080
npm run dev
For further instructions on building this project, refer to our Vue.js tutorial. You'll find it and many more resources on the Savvy Apps blog. Feel free to reach out to us with any questions or feedback via the Savvy Apps website, or connect with us on Facebook and Twitter.
Copyright 2020 Savvy Apps
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.