Book Image

Vue.js 2 and Bootstrap 4 Web Development

Book Image

Vue.js 2 and Bootstrap 4 Web Development

Overview of this book

In this book, we will build a full stack web application right from scratch up to its deployment. We will start by building a small introduction application and then proceed to the creation of a fully functional, dynamic responsive web application called ProFitOro. In this application, we will build a Pomodoro timer combined with office workouts. Besides the Pomodoro timer and ProFitOro workouts will enable authentication and collaborative content management. We will explore topics such as Vue reactive data binding, reusable components, routing, and Vuex store along with its state, actions, mutations, and getters. We will create Vue applications using both webpack and Nuxt.js templates while exploring cool hot Nuxt.js features such as code splitting and server-side rendering. We will use Jest to test this application, and we will even revive some trigonometry from our secondary school! While developing the app, you will go through the new grid system of Bootstrap 4 along with Vue.js’ directives. We will connect Vuex store to the Firebase real-time database, data storage, and authentication APIs and use this data later inside the application’s reactive components. Finally, we will quickly deploy our application using the Firebase hosting mechanism.
Table of Contents (12 chapters)
11
Index

Personalizing the Pomodoro timer


Well, now that we can already sign in new users and log in the existing ones, probably we should think about taking advantage of our authentication mechanism because right now we are actually not doing anything with it. We just sign up and we just log in. Yes, we also can hide or show some content based on the user's authentication, but this is not enough. The whole point of all this effort was to be able to store and retrieve the user's custom configuration for the Pomodoro timer and the user's statistical data.

Until now, we have been using a hardcoded database object with the key test in order to access the user's data, but now, since we already have our real users, it's time to populate the database with real users' data and use it in our application. Actually, the only thing we have to do is to replace this hardcoded value with the actual user's ID. So, for example, our code to bind the config reference was looking like this:

// store/actions.js
bindConfig...