Book Image

Vue.js 2 and Bootstrap 4 Web Development

By : Olga Filipova
Book Image

Vue.js 2 and Bootstrap 4 Web Development

By: Olga Filipova

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

Managing the anonymous user


ProFitOro allows unregistered users to use the application as well. The only difference is that these unregistered users are not allowed to configure their settings as well, as they do not have access to their statistical data. They also cannot manage workouts. So, this is where we meet the second A of the triple-A definition – authorization. How can we manage these users? How can they actually enter the application if we only allow our users to sign up and log in? Well, for some reason, we have prepared the part that says Go to App. Let me remind you how it looks in the mockups:

Start without registration! button in the initial mockups

Luckily for us, the Firebase authentication API provides a method to sign in the anonymous user. The returned user object contains the isAnonymous attribute, which will allow us to manage the resources that can or can't be accessible to this anonymous user. So let's add the action called authenticateAnonymous and call the corresponding...