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

Defining ProFitOro components


Our application consists of two main screens.

One of the screens is the so-called Landing page; this page consists of the following parts:

  • A logo

  • A tagline

  • An authentication section

  • A link to the application to be used without being registered

Schematically, this is how our components are positioned on the screen:

Landing page that contains logo, tagline, authentication section, and a link to the application

The second screen is the main application screen. This screen contains three parts:

  • A header

  • A footer

  • The content

The content part contains the Pomodoro timer. If the user is authenticated, it will contain settings, workouts, and statistics as well:

Main application's screen that contains header, footer, and content

Let's create a folder called components and subfolders called main, landing, and common for the corresponding sub-components.

Components for the landing and main pages will reside in the components folder; the remaining 11 components will be distributed between...