Book Image

Full-Stack Web Development with Vue.js and Node

By : Aneeta Sharma
Book Image

Full-Stack Web Development with Vue.js and Node

By: Aneeta Sharma

Overview of this book

Isomorphic JavaScript was the buzzword of the year 2017, allowing developers to utilize a single language throughout their web development stack and build cost-effective and scalable applications. MEVN is a one such modern web development stack consisting of web applications such as MongoDB, Express.js, Vue.js, and Node.js. Hands-On Full-Stack Web Development with Vue.js 2 and Node.js leverages the harmony of these technologies to help you create full-stack web applications. Starting with the core frameworks, this example-based guide explains all the key concepts of frameworks, how to set them up properly, and how to use popular modules to connect them together and make them work cohesively. You will learn all this with the help of real-world examples. In addition to this, you will be able to scaffold web application architecture, add an authentication layer, and develop the MVC structure to support the development of your application. You'll explore how to create data models for your applications and then write REST APIs by exposing your data model to your application. Solely orientated towards building a full, end-to-end application using the MEVN stack, this book will help you understand how your application development grows.
Table of Contents (12 chapters)

Loading dynamic content on the homepage

Currently, our homepage has all the static movies in the content. Let's fill the data with the data that we have added to the movies in our database. For that, the first thing to do is to add a few movies to the database, which we can do via the http://localhost:8080/movies/add endpoint from the UI.

API endpoint to fetch all movies

First, we need to add an endpoint to fetch all the movies from the Mongo database. So, let's first add an endpoint to fetch all the movies in controllers/movies.js:

const MovieSchema = require('../models/Movie.js');

module.exports.controller = (app) => {
// fetch all movies
app.get('/movies', (req, res) => {
MovieSchema...