SlideShare a Scribd company logo
MEAN Stack Introduction and Development
Jason Zucchetto
MongoDB
2
Agenda
• Developing a Sample Application
• The MEAN Stack Components
• MEAN Stack Components Explained for Our
Sample Application
3
MongoMart
• Simple application for searching and viewing
MongoDB swag
• All product information stored in MongoDB
• Github location for the sample application will be
shown at the end of this presentation
4
MongoMart

Recommended for you

Introduction to the MEAN stack
Introduction to the MEAN stackIntroduction to the MEAN stack
Introduction to the MEAN stack

The document introduces the MEAN stack, which is an open source full-stack JavaScript platform that includes MongoDB, Express, AngularJS, and Node.js. It is used to build dynamic web applications and single page applications. The MEAN stack uses MongoDB for the database, Express for the backend server framework, AngularJS for the frontend framework, and Node.js as the runtime environment. It is a JavaScript-based alternative to traditional server-rendered technologies like LAMP stacks.

javascriptmeanmongodb
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack

The document discusses the MEAN stack, which is a full-stack JavaScript platform for building modern web applications. It is composed of MongoDB (M) as the database, Express.js (E) as the backend framework, AngularJS (A) as the frontend framework, and Node.js (N) as the runtime environment. The document provides descriptions of each component, why the MEAN stack is useful, how to deploy a MEAN application to Heroku cloud, and some tips on getting started and potential limitations.

NodeSummit - MEAN Stack
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - MEAN Stack

This document provides an overview of the MEAN stack and how it can be used to quickly prototype and build web applications. It discusses how MongoDB, ExpressJS, AngularJS, and NodeJS work together to allow real-time data binding from the database to the client. The document also covers best practices for adapting applications based on feedback, automating testing, and scaling applications efficiently as they grow in usage.

5
MongoMart
6
MEAN Stack Components
7
MongoDB
• Document Oriented Database (JSON document)
• Returns JSON results, making it very easy to
store and retrieve JSON documents from your
Node.js application
• Dynamic schema
• Advanced secondary indexes (similar to an
RDBMS)
• Replication and scaling
8
Express
• Most popular Node.js web framework
• Simple, pluggable, and fast
• Great tool for building REST APIs
• Allows us to easily create endpoints in our
application (e.g. /items/45)

Recommended for you

Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stack

The document provides an overview of the MEAN stack, which is a collection of JavaScript technologies used to develop web applications. It consists of MongoDB (a no-SQL database), ExpressJS (a web application framework), AngularJS (a front-end JavaScript framework), and NodeJS (a runtime environment for JavaScript). Each technology is described briefly, outlining its purpose and benefits like performance, scalability, and the use of a single programming language throughout the application stack.

meanmongodbnodejs
Kickstarting Node.js Projects with Yeoman
Kickstarting Node.js Projects with YeomanKickstarting Node.js Projects with Yeoman
Kickstarting Node.js Projects with Yeoman

http://mnug.de/artikel/meetups/december2014 Scaffolding can be a great way to enable developers quickly in a way consistent with best practices employed by the community or your organization. Yeoman is a proven scaffolding tool for webapps that has been around since 2012 and now sports more than 6000 stars on GitHub. Even though its original focus used to be on supporting front-end development, it now features a considerable number of Node.js-related generators worth exploring. This talk will give a quick overview on the topic of scaffolding, explain what Yeoman is all about and show you how to make the best use of it.

javascriptnodenodejs
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.jsThe MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js

This document discusses using the MEAN stack with MongoDB and NodeJS. It explains what the MEAN stack is and why it is useful, allowing developers to write code in a single language and providing dynamic client-side templates. It also provides an example of building a real-time Bitcoin price tracking application using the MEAN stack.

mongodbnode.jsapplication programming interface
9
Angular
• Javascript framework for client side MVC (model-
view-controller)
• Create single page webapps
• HTML is used as the template language
• Adds HTML elements/attributes and interprets
those elements/attributes
• Frontend of the MEAN stack
10
Node.js
• Our web server
• Used for server-side web applications
• “… event-driven architecture and a non-blocking
I/O API designed to optimize an application's
throughput and scalability for real-time web
applications”
11
Setting Up MongoDB for our MongoMart App
• Download MongoDB
• Extract and add /bin directory to system PATH
• Create data directory
• Start MongoDB and point to data directory
• Load dataset using mongoimport (instructions in
GitHub, link at the end of this presentation)
{
"_id" : 20,
"title" : "MongoDB University T-shirt",
"slogan" : "Show Your MDBU Alumni Status",
"description" : "Crafted from ultra-soft combed
cotton,
this essential t-shirt features sporty
contrast
tipping and MongoDB's signature
leaf.",
"stars" : 0,
"category" : "Apparel",
"img_url" : "/img/products/univ-tshirt.jpg",
"price" : 45
}
Document from “items” Collection

Recommended for you

LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)

Slides from one of my knowledge sharing sessions, talking about the MEAN stack and why I think this is a new generation of a web technology stack.

nodejsexpresscss3
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack

The document discusses the MEAN stack, which is a full-stack JavaScript framework that uses MongoDB, ExpressJS, AngularJS, and Node.js. It provides an overview of each component, explaining that MongoDB is the database, ExpressJS is the web application framework, AngularJS is the front-end framework, and Node.js is the web server. The MEAN stack allows for full-stack development with JavaScript and provides benefits like asynchronous communication and being easy to start developing with.

nodejsjavascriptangularjs
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackBuilding an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stack

This document provides an overview of building an eCommerce site using the MEAN stack. It begins with an introduction to JavaScript and then discusses the key components of the MEAN stack including Node.js, AngularJS, and MongoDB. It provides details on each component, their history, features, and how they work together. It emphasizes how MongoDB is well-suited for eCommerce applications due to its flexible schema and ability to store different product types within the same collection.

express jsangular jsnode js
13
Querying “items” Collection
• Any field within the collection can be queried, e.g.
db.items.find( { “category” : “Apparel” } )
• Ideally, every query to the database uses an
index, to ensure we maintain fast performance as
the database grows in size
Using .explain() in the MongoDB Shell
> db.items.find({ "category" : "Apparel" }
).explain("executionStats")
{
…
"executionStats" : {
"executionSuccess" : true,
"nReturned" : 6,
"executionTimeMillis" : 2,
"totalKeysExamined" : 6,
"totalDocsExamined" : 6,
"executionStages" : {
"stage" : "FETCH",
…
}
…
15
Item Reviews
• Several options
• Add a list of reviews to each “items” document
• Create a new collection called “reviews”, query
the collection for latest reviews for an item
• Create a collection called “reviews” and maintain
the last 10 reviews (or 10 most popular reviews)
in each “items” document (duplicating reviews
across the two collections)
16
Node.js
• Our webserver
• Easily clone the MongoMart github repo, install
needed dependencies, and run the server:
git clone <REPO>
npm install
npm start

Recommended for you

Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN Stack

The webinar introduces the MEAN stack for developing web applications with MongoDB, Express, AngularJS, and Node.js. It discusses the benefits of the full-stack JavaScript solution and covers introductions to each component - MongoDB for data storage, Node.js as the server-side environment, Express as the web framework, and AngularJS for the front-end. The agenda also includes demonstrations of MEAN app architecture, folder structure, and a discussion of jobs trends in web development frameworks and programming languages.

webapplicationmean stackmongodb
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack

Replace Angular with React. Make the move from the MEAN stack to the powerful MERN Stack! Come and learn about the MERN stack. No, that isn't a typo. The MERN stack is Mongo, Express, and Node, with React instead of Angular. While both React and Angular are remarkable JavaScript technologies, React comes with less baggage. There is no TypeScript, no annotations, no bossy framework telling you how to do everything.

expressmeanmern
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack

popular FULL stacks and full reference of an MEAN stack with real time applications and more.MEAN stack is mainly for single page web applications and have an professional dynamic web page.

#meanstack#fullstackangularjs
17
What is NPM
● Bundled in the Node.js installer
● Dependency and management tool for Node.js
● Used for installing Node.js modules, such as
Express (which we’ll dive into next):
npm install express
18
Integrating Express Into MongoMart
● Express is a Node.js module to manage our
routes
● Initially, Express was installed, and the Express
generator for generating the complete structure
for an application
● Use the Express generator to generate the
MongoMart application
npm install express
npm install express-generator -g
express mongomart
19
Routes Generated By Express
// Within routes/users.js
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;
20
Create New Routes for MongoMart Items
// Create new file routes/items.js
var express = require('express');
var router = express.Router();
/* GET all items */
router.get('/', function(req, res, next) {
// Query MongoDB for items
});
/* GET item by id */
router.get('/:id', function(req, res, next) {
// Query MongoDB for an item
});
module.exports = router;

Recommended for you

Mean stack
Mean stackMean stack
Mean stack

MEAN is a collection of JavaScript-based technologies — MongoDB, Express.js, AngularJS, and Node.js — used to develop web applications. From the client and server sides to databases, MEAN is a full-stack development toolkit. Play through the following five courses to become a MEAN stack developer and earn a new badge!

angularjsnodejssoftware
Angular js introduction
Angular js introductionAngular js introduction
Angular js introduction

This Presentation is all about introduction to AngularJS and its features. This covers fundamental concepts of AngularJS and their importance. This also covers the introduction to Single Page Application and why SPA needed? This presentation describes features like data binding, dependency injection, routing, filtering and MVC.

spa with angularjsangularjs introductionfundamentals of angularjs
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack

MEAN Stack is a full-stack JavaScript solution that helps you build fast, robust and maintainable production web applications using MongoDB, Express, AngularJS, and Node.js.

mean stack
21
● MongoDB running with sample data
● Node.js application created
● Express installed for managing routes (e.g.
/items) within our Node.js application
Recap MongoMart Progress
● Query MongoDB from our application’s routes
● Display items to the user via Angular
Next Steps
22
● ODM for writing MongoDB validation, casting,
and business logic
● Greater simplifies how we query and work with
MongoDB
Adding Mongoose to Our Application
npm install mongoose
23
Create a Model for a MongoMart Item
// In models/item.js
var mongoose = require("mongoose");
var ItemSchema = new mongoose.Schema({
_id: Number,
name: String,
title: String,
slogan: String,
description: String,
stars: Number,
category: {
type: String,
index: true
},
img_url: String,
price: Number
});
module.exports = mongoose.model('Item', ItemSchema);
24
Mongoose MongoDB query from our Node.js App
// In routes/items.js
var mongoose = require( 'mongoose' );
var Item = require(__dirname+'/../models/Item')
/* GET all items */
router.get('/', function(req, res, next) {
Item.find(function(err, items) {
if (err)
res.send(err);
res.json(items);
});
});

Recommended for you

MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...

What's so popular about MEAN stack? And why should you switch to MEAN stack development for your next project? This ppt answers both the questions.

meanmean stackmongo db
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop

This document provides an overview of a guided hackathon to build a single page application using the MEAN stack (MongoDB, Express, AngularJS, Node.js) in 2 hours. It outlines the concepts that will be covered, including API testing, DOM integration testing, build systems, and more. Attendees will build a package manager for the Go programming language, creating the server with Express and Mongoose, and the client with AngularJS and Browserify. Testing will be done with Mocha, Karma, and other tools.

mean stacksingle page appangularjs
Novedades de MongoDB 3.6
Novedades de MongoDB 3.6Novedades de MongoDB 3.6
Novedades de MongoDB 3.6

Con MongoDB 3.6, podrá avanzar al ritmo que marcan sus datos. Los plazos de lanzamiento de las nuevas aplicaciones se acelerarán, y estas funcionarán de forma segura y fiable en entornos de cualquier tamaño, además de aportar información útil en tiempo real. https://www.mongodb.com/mongodb-3.6

mongodb
25
Mongoose MongoDB query from our Node.js App
// In routes/items.js
* GET item by id */
router.get('/:id', function(req, res, next) {
Item.findById({ "_id" : req.params.id }, function(err,
item) {
if (err)
res.send(err);
res.json(item);
});
});
26
● Angular is a Javascript framework
● Client side MVC
● Create single page webapps, define all views and
controllers in client side Javascript
● Since Angular is a client side framework, we’ll install via
bower
● Bower should be used for client side components
(bootstrap, Angular, etc.)
● npm for node.js dependencies (Express, Mongoose,
etc.)
Integrating Angular Into MongoMart
27
Integrating Angular Into MongoMart
bower install bootstrap // used for easy layouts/standard styles
bower install angular // the main angular.js file
bower install angular-route // needed for routing in angular
bower install angular-animate // animate transitions between views
bower install jquery // jquery library
ls bower_components/
Angular angular-animate angular-route bootstrap jquery
28
Integrating Angular Into MongoMart (index)
<!doctype html>
<html lang="en" ng-app="mongomartApp">
<head>
<meta charset="utf-8">
<title>MongoMart</title>
<link rel="stylesheet"
href="bower_components/bootstrap/dist/css/bootstrap.css">
<link rel="stylesheet" href="stylesheets/style.css">
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="javascripts/app.js"></script>
<script src="javascripts/controllers.js"></script>
</head>
<body>
<div class="view-container"><div ng-view class="view-frame"></div></div>
</body>
</html>

Recommended for you

SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4

The document summarizes new features in ASP.NET MVC 4 Developer Preview including enhanced default project templates, display modes for mobile views, jQuery Mobile and browser overriding support, recipes for code generation in Visual Studio, and task support for asynchronous controllers. It outlines requirements, installation considerations, and breaking changes. Key new features are enhanced templates, display modes for adaptive rendering, jQuery Mobile integration, a mobile project template, code generation recipes, and asynchronous controller support using tasks.

asp.net
Angular js workshop
Angular js workshopAngular js workshop
Angular js workshop

The document summarizes an AngularJS workshop that covers AngularJS core principles, building a sample website, and AngularJS 2. It discusses building the sample site from scratch using tools like NodeJS, Bower, and Bootstrap. Key AngularJS concepts covered include modules, views, controllers, directives, routing, promises, and AngularJS 2.0. Hands-on tasks include adding routing, creating a header directive, loading data from a service, and validating a form.

MongoDB Days UK: Building Apps with the MEAN Stack
MongoDB Days UK: Building Apps with the MEAN StackMongoDB Days UK: Building Apps with the MEAN Stack
MongoDB Days UK: Building Apps with the MEAN Stack

Presented by Norberto Leite, Developer Advocate, MongoDB Experience level: Advanced Get ready to be MEAN! The MEAN Stack (MongoDB, ExpressJS, AngularJS and Node.js) allows developers to do rapid application development and application scaffolding. In this session, Norberto will walk you through strategies and best practices for building applications on the MEAN stack, the benefits of using such an application stack and the key benefits of each of the individual components.

mongodbmongodb days
29
Integrating Angular Into MongoMart (app.js)
var mongomartApp = angular.module('mongomartApp', ['ngRoute','mongomartControllers',
'ngAnimate']);
mongomartApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/items', {
templateUrl: 'partials/item-list.html',
controller: 'ItemListCtrl'
}).
when('/items/:itemId', {
templateUrl: 'partials/item-detail.html',
controller: 'ItemDetailCtrl'
}).
otherwise({
redirectTo: '/items'
});
}]);
30
Integrating Angular Into MongoMart (app.js)
31
Integrating Angular Into MongoMart
(controllers.js)
var mongomartControllers = angular.module('mongomartControllers', []);
mongomartControllers.controller('ItemListCtrl', ['$scope', '$http',
function($scope, $http) {
$http.get('http://localhost:3000/items').success(function(data) {
$scope.items = data;
});
$scope.itemOrder = 'title';
}]);
mongomartControllers.controller('ItemDetailCtrl', ['$scope', '$http', '$routeParams',
function($scope, $http, $routeParams) {
$scope.itemId = $routeParams.itemId;
$http.get('http://localhost:3000/items/' + $routeParams.itemId).success(function(data) {
$scope.item = data;
});
}]);
32
Integrating Angular Into MongoMart (item-
detail.html)
<div class="row">
<div class="col-md-8">
<img class="img-responsive" src="{{item.img_url}}" alt="">
</div>
<div class="col-md-4">
<h3>Product Description</h3>
<p>
{{item.description}}
</p>
</div>
</div>

Recommended for you

AngularJS: an introduction
AngularJS: an introductionAngularJS: an introduction
AngularJS: an introduction

AngularJS is a JavaScript framework for building frontend web applications. It is inspired by Model-View-Controller (MVC) pattern and uses HTML templating with two-way data binding. Key features include DOM manipulation, validation, routing, and reusable components. The document provides an overview of AngularJS concepts like directives, data binding, controllers, modules, dependency injection, and built-in services. It also demonstrates how to create custom directives and use routing and resources services.

programmingangularjspolitecnico
Mongo db eveningschemadesign
Mongo db eveningschemadesignMongo db eveningschemadesign
Mongo db eveningschemadesign

MongoDB is a document-oriented, open source database that is high performing, horizontally scalable, and full featured. It uses a flexible schema and stores data in flexible JSON-like documents which allows for an evolving schema. MongoDB can be easily scaled out across commodity servers and provides high availability with automatic replication and recovery. It supports dynamic queries and indexing and has drivers for many languages.

Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS

This document provides an overview and introduction to single page application (SPA) frameworks using AngularJS. It discusses the rise of responsive SPAs and some of the challenges in building SPAs. It then introduces key AngularJS concepts like templates, directives, expressions, data binding, scopes, controllers and modules. It also includes a recap of JavaScript concepts like objects, functions and classes. Finally, it demonstrates basic AngularJS examples using directives, expressions, filters, controllers and scopes.

angularjs
33
● MongoDB as the backing database
● Express for routing in Node.js (e.g. /items)
● Angular for client side MVC, single page webapp
● Node.js as our application server
MEAN Stack for MongoMart
Our Node.js Application Structure
Client side components, such as Javascript libraries and
CSS (e.g. Bootstrap). Brief intro to Bower in the Angular
section of this presentation.
Our models using Mongoose
Publicly accessible static files, such as images and CSS.
Routes defined by express.
Templates populated by routes from above
app.js is our application’s starting place, this file is used to
load all dependencies and other Node.js files
35
MongoMart
36
MongoMart

Recommended for you

Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - Introduction

This document provides an overview of AngularJS, including what it is, why it is useful, basic concepts, and how to get started. AngularJS is an open-source JavaScript framework for building single-page applications. It uses HTML as the template language and allows binding data to HTML elements. Some key benefits are less boilerplate code, improved maintainability through separation of concerns using an MVC pattern, and efficient development through features like data binding. The document outlines how to include AngularJS scripts, core concepts like directives, controllers and models, and recommends resources for learning more.

angularjsdeveloperpublishisenthil
Back to Basics 2017: Mí primera aplicación MongoDB
Back to Basics 2017: Mí primera aplicación MongoDBBack to Basics 2017: Mí primera aplicación MongoDB
Back to Basics 2017: Mí primera aplicación MongoDB

Descubra: Cómo instalar MongoDB y usar el shell de MongoDB Las operaciones básicas de CRUD Cómo analizar el rendimiento de las consultas y añadir un índice

nosql sql aplicaciónmongodb
React JS .NET
React JS .NETReact JS .NET
React JS .NET

1. The document discusses adding React components to ASP.NET MVC applications using React JS.NET. 2. It explains how React JS.NET allows bootstrapping a React component tree from a C# view, allowing ASP.NET MVC apps to contain React component trees. 3. The document provides an overview of key aspects like how ReactDOM.Render() is called, using JSX files, fetching data from server-side MVC code, and rendering components on the server-side for performance.

react js .netreact
37
Links
• MongoMart Github Location:
https://github.com/zuketo/meanstack
• MEAN Stack Course on Edx:
https://www.edx.org/course/introduction-
mongodb-using-mean-stack-mongodbx-m101x
#MDBDays
mongodb.com
Get your technical questions answered
In the foyer, 10:00 - 5:00
By appointment only – register in person
Tell me how I did today on Guidebook and enter for a
chance to win one of these
How to do it:
Download the Guidebook App
Search for MongoDB Silicon Valley
Submit session feedback

More Related Content

What's hot

Beginning MEAN Stack
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN Stack
Rob Davarnia
 
MEAN stack
MEAN stackMEAN stack
MEAN stack
Iryney Baran
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
Naveen Pete
 
Introduction to the MEAN stack
Introduction to the MEAN stackIntroduction to the MEAN stack
Introduction to the MEAN stack
Yoann Gotthilf
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
Dotitude
 
NodeSummit - MEAN Stack
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - MEAN Stack
Valeri Karpov
 
Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stack
Praveen Gubbala
 
Kickstarting Node.js Projects with Yeoman
Kickstarting Node.js Projects with YeomanKickstarting Node.js Projects with Yeoman
Kickstarting Node.js Projects with Yeoman
Patrick Buergin
 
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.jsThe MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
MongoDB
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
Sascha Sambale
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
Md. Ziaul Haq
 
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackBuilding an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stack
divyapisces
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN Stack
Shailendra Chauhan
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
Troy Miles
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack
Ashok Raj
 
Mean stack
Mean stackMean stack
Angular js introduction
Angular js introductionAngular js introduction
Angular js introduction
Praveen Gubbala
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
Krishnaprasad k
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
Hariharan Ganesan
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
Valeri Karpov
 

What's hot (20)

Beginning MEAN Stack
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN Stack
 
MEAN stack
MEAN stackMEAN stack
MEAN stack
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 
Introduction to the MEAN stack
Introduction to the MEAN stackIntroduction to the MEAN stack
Introduction to the MEAN stack
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
NodeSummit - MEAN Stack
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - MEAN Stack
 
Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stack
 
Kickstarting Node.js Projects with Yeoman
Kickstarting Node.js Projects with YeomanKickstarting Node.js Projects with Yeoman
Kickstarting Node.js Projects with Yeoman
 
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.jsThe MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
 
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackBuilding an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stack
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN Stack
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack
 
Mean stack
Mean stackMean stack
Mean stack
 
Angular js introduction
Angular js introductionAngular js introduction
Angular js introduction
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
 

Similar to MongoDB Days Silicon Valley: Building Applications with the MEAN Stack

Novedades de MongoDB 3.6
Novedades de MongoDB 3.6Novedades de MongoDB 3.6
Novedades de MongoDB 3.6
MongoDB
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4
Jon Galloway
 
Angular js workshop
Angular js workshopAngular js workshop
Angular js workshop
Rolands Krumbergs
 
MongoDB Days UK: Building Apps with the MEAN Stack
MongoDB Days UK: Building Apps with the MEAN StackMongoDB Days UK: Building Apps with the MEAN Stack
MongoDB Days UK: Building Apps with the MEAN Stack
MongoDB
 
AngularJS: an introduction
AngularJS: an introductionAngularJS: an introduction
AngularJS: an introduction
Luigi De Russis
 
Mongo db eveningschemadesign
Mongo db eveningschemadesignMongo db eveningschemadesign
Mongo db eveningschemadesign
MongoDB APAC
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
Jussi Pohjolainen
 
Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - Introduction
Senthil Kumar
 
Back to Basics 2017: Mí primera aplicación MongoDB
Back to Basics 2017: Mí primera aplicación MongoDBBack to Basics 2017: Mí primera aplicación MongoDB
Back to Basics 2017: Mí primera aplicación MongoDB
MongoDB
 
React JS .NET
React JS .NETReact JS .NET
React JS .NET
Jennifer Estrada
 
Back to Basics, webinar 2: La tua prima applicazione MongoDB
Back to Basics, webinar 2: La tua prima applicazione MongoDBBack to Basics, webinar 2: La tua prima applicazione MongoDB
Back to Basics, webinar 2: La tua prima applicazione MongoDB
MongoDB
 
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
Prasoon Kumar
 
AngularJs Superheroic JavaScript MVW Framework Services by Miracle Studios
AngularJs Superheroic JavaScript MVW Framework Services by Miracle StudiosAngularJs Superheroic JavaScript MVW Framework Services by Miracle Studios
AngularJs Superheroic JavaScript MVW Framework Services by Miracle Studios
Learnimtactics
 
Webinar: Build an Application Series - Session 2 - Getting Started
Webinar: Build an Application Series - Session 2 - Getting StartedWebinar: Build an Application Series - Session 2 - Getting Started
Webinar: Build an Application Series - Session 2 - Getting Started
MongoDB
 
Building a dashboard using AngularJS
Building a dashboard using AngularJSBuilding a dashboard using AngularJS
Building a dashboard using AngularJS
RajthilakMCA
 
AngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get startedAngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get started
Stéphane Bégaudeau
 
Angular 2 for Java Developers
Angular 2 for Java DevelopersAngular 2 for Java Developers
Angular 2 for Java Developers
Yakov Fain
 
Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]
GDSC UofT Mississauga
 
Webinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN StackWebinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN Stack
MongoDB
 
AngularJS
AngularJSAngularJS
AngularJS
Pasi Manninen
 

Similar to MongoDB Days Silicon Valley: Building Applications with the MEAN Stack (20)

Novedades de MongoDB 3.6
Novedades de MongoDB 3.6Novedades de MongoDB 3.6
Novedades de MongoDB 3.6
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4
 
Angular js workshop
Angular js workshopAngular js workshop
Angular js workshop
 
MongoDB Days UK: Building Apps with the MEAN Stack
MongoDB Days UK: Building Apps with the MEAN StackMongoDB Days UK: Building Apps with the MEAN Stack
MongoDB Days UK: Building Apps with the MEAN Stack
 
AngularJS: an introduction
AngularJS: an introductionAngularJS: an introduction
AngularJS: an introduction
 
Mongo db eveningschemadesign
Mongo db eveningschemadesignMongo db eveningschemadesign
Mongo db eveningschemadesign
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - Introduction
 
Back to Basics 2017: Mí primera aplicación MongoDB
Back to Basics 2017: Mí primera aplicación MongoDBBack to Basics 2017: Mí primera aplicación MongoDB
Back to Basics 2017: Mí primera aplicación MongoDB
 
React JS .NET
React JS .NETReact JS .NET
React JS .NET
 
Back to Basics, webinar 2: La tua prima applicazione MongoDB
Back to Basics, webinar 2: La tua prima applicazione MongoDBBack to Basics, webinar 2: La tua prima applicazione MongoDB
Back to Basics, webinar 2: La tua prima applicazione MongoDB
 
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
 
AngularJs Superheroic JavaScript MVW Framework Services by Miracle Studios
AngularJs Superheroic JavaScript MVW Framework Services by Miracle StudiosAngularJs Superheroic JavaScript MVW Framework Services by Miracle Studios
AngularJs Superheroic JavaScript MVW Framework Services by Miracle Studios
 
Webinar: Build an Application Series - Session 2 - Getting Started
Webinar: Build an Application Series - Session 2 - Getting StartedWebinar: Build an Application Series - Session 2 - Getting Started
Webinar: Build an Application Series - Session 2 - Getting Started
 
Building a dashboard using AngularJS
Building a dashboard using AngularJSBuilding a dashboard using AngularJS
Building a dashboard using AngularJS
 
AngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get startedAngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get started
 
Angular 2 for Java Developers
Angular 2 for Java DevelopersAngular 2 for Java Developers
Angular 2 for Java Developers
 
Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]
 
Webinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN StackWebinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN Stack
 
AngularJS
AngularJSAngularJS
AngularJS
 

More from MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 

More from MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Recently uploaded

Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 

Recently uploaded (20)

Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 

MongoDB Days Silicon Valley: Building Applications with the MEAN Stack

  • 1. MEAN Stack Introduction and Development Jason Zucchetto MongoDB
  • 2. 2 Agenda • Developing a Sample Application • The MEAN Stack Components • MEAN Stack Components Explained for Our Sample Application
  • 3. 3 MongoMart • Simple application for searching and viewing MongoDB swag • All product information stored in MongoDB • Github location for the sample application will be shown at the end of this presentation
  • 7. 7 MongoDB • Document Oriented Database (JSON document) • Returns JSON results, making it very easy to store and retrieve JSON documents from your Node.js application • Dynamic schema • Advanced secondary indexes (similar to an RDBMS) • Replication and scaling
  • 8. 8 Express • Most popular Node.js web framework • Simple, pluggable, and fast • Great tool for building REST APIs • Allows us to easily create endpoints in our application (e.g. /items/45)
  • 9. 9 Angular • Javascript framework for client side MVC (model- view-controller) • Create single page webapps • HTML is used as the template language • Adds HTML elements/attributes and interprets those elements/attributes • Frontend of the MEAN stack
  • 10. 10 Node.js • Our web server • Used for server-side web applications • “… event-driven architecture and a non-blocking I/O API designed to optimize an application's throughput and scalability for real-time web applications”
  • 11. 11 Setting Up MongoDB for our MongoMart App • Download MongoDB • Extract and add /bin directory to system PATH • Create data directory • Start MongoDB and point to data directory • Load dataset using mongoimport (instructions in GitHub, link at the end of this presentation)
  • 12. { "_id" : 20, "title" : "MongoDB University T-shirt", "slogan" : "Show Your MDBU Alumni Status", "description" : "Crafted from ultra-soft combed cotton, this essential t-shirt features sporty contrast tipping and MongoDB's signature leaf.", "stars" : 0, "category" : "Apparel", "img_url" : "/img/products/univ-tshirt.jpg", "price" : 45 } Document from “items” Collection
  • 13. 13 Querying “items” Collection • Any field within the collection can be queried, e.g. db.items.find( { “category” : “Apparel” } ) • Ideally, every query to the database uses an index, to ensure we maintain fast performance as the database grows in size
  • 14. Using .explain() in the MongoDB Shell > db.items.find({ "category" : "Apparel" } ).explain("executionStats") { … "executionStats" : { "executionSuccess" : true, "nReturned" : 6, "executionTimeMillis" : 2, "totalKeysExamined" : 6, "totalDocsExamined" : 6, "executionStages" : { "stage" : "FETCH", … } …
  • 15. 15 Item Reviews • Several options • Add a list of reviews to each “items” document • Create a new collection called “reviews”, query the collection for latest reviews for an item • Create a collection called “reviews” and maintain the last 10 reviews (or 10 most popular reviews) in each “items” document (duplicating reviews across the two collections)
  • 16. 16 Node.js • Our webserver • Easily clone the MongoMart github repo, install needed dependencies, and run the server: git clone <REPO> npm install npm start
  • 17. 17 What is NPM ● Bundled in the Node.js installer ● Dependency and management tool for Node.js ● Used for installing Node.js modules, such as Express (which we’ll dive into next): npm install express
  • 18. 18 Integrating Express Into MongoMart ● Express is a Node.js module to manage our routes ● Initially, Express was installed, and the Express generator for generating the complete structure for an application ● Use the Express generator to generate the MongoMart application npm install express npm install express-generator -g express mongomart
  • 19. 19 Routes Generated By Express // Within routes/users.js var express = require('express'); var router = express.Router(); /* GET users listing. */ router.get('/', function(req, res, next) { res.send('respond with a resource'); }); module.exports = router;
  • 20. 20 Create New Routes for MongoMart Items // Create new file routes/items.js var express = require('express'); var router = express.Router(); /* GET all items */ router.get('/', function(req, res, next) { // Query MongoDB for items }); /* GET item by id */ router.get('/:id', function(req, res, next) { // Query MongoDB for an item }); module.exports = router;
  • 21. 21 ● MongoDB running with sample data ● Node.js application created ● Express installed for managing routes (e.g. /items) within our Node.js application Recap MongoMart Progress ● Query MongoDB from our application’s routes ● Display items to the user via Angular Next Steps
  • 22. 22 ● ODM for writing MongoDB validation, casting, and business logic ● Greater simplifies how we query and work with MongoDB Adding Mongoose to Our Application npm install mongoose
  • 23. 23 Create a Model for a MongoMart Item // In models/item.js var mongoose = require("mongoose"); var ItemSchema = new mongoose.Schema({ _id: Number, name: String, title: String, slogan: String, description: String, stars: Number, category: { type: String, index: true }, img_url: String, price: Number }); module.exports = mongoose.model('Item', ItemSchema);
  • 24. 24 Mongoose MongoDB query from our Node.js App // In routes/items.js var mongoose = require( 'mongoose' ); var Item = require(__dirname+'/../models/Item') /* GET all items */ router.get('/', function(req, res, next) { Item.find(function(err, items) { if (err) res.send(err); res.json(items); }); });
  • 25. 25 Mongoose MongoDB query from our Node.js App // In routes/items.js * GET item by id */ router.get('/:id', function(req, res, next) { Item.findById({ "_id" : req.params.id }, function(err, item) { if (err) res.send(err); res.json(item); }); });
  • 26. 26 ● Angular is a Javascript framework ● Client side MVC ● Create single page webapps, define all views and controllers in client side Javascript ● Since Angular is a client side framework, we’ll install via bower ● Bower should be used for client side components (bootstrap, Angular, etc.) ● npm for node.js dependencies (Express, Mongoose, etc.) Integrating Angular Into MongoMart
  • 27. 27 Integrating Angular Into MongoMart bower install bootstrap // used for easy layouts/standard styles bower install angular // the main angular.js file bower install angular-route // needed for routing in angular bower install angular-animate // animate transitions between views bower install jquery // jquery library ls bower_components/ Angular angular-animate angular-route bootstrap jquery
  • 28. 28 Integrating Angular Into MongoMart (index) <!doctype html> <html lang="en" ng-app="mongomartApp"> <head> <meta charset="utf-8"> <title>MongoMart</title> <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"> <link rel="stylesheet" href="stylesheets/style.css"> <script src="bower_components/angular/angular.js"></script> <script src="bower_components/angular-route/angular-route.js"></script> <script src="bower_components/angular-animate/angular-animate.js"></script> <script src="javascripts/app.js"></script> <script src="javascripts/controllers.js"></script> </head> <body> <div class="view-container"><div ng-view class="view-frame"></div></div> </body> </html>
  • 29. 29 Integrating Angular Into MongoMart (app.js) var mongomartApp = angular.module('mongomartApp', ['ngRoute','mongomartControllers', 'ngAnimate']); mongomartApp.config(['$routeProvider', function($routeProvider) { $routeProvider. when('/items', { templateUrl: 'partials/item-list.html', controller: 'ItemListCtrl' }). when('/items/:itemId', { templateUrl: 'partials/item-detail.html', controller: 'ItemDetailCtrl' }). otherwise({ redirectTo: '/items' }); }]);
  • 30. 30 Integrating Angular Into MongoMart (app.js)
  • 31. 31 Integrating Angular Into MongoMart (controllers.js) var mongomartControllers = angular.module('mongomartControllers', []); mongomartControllers.controller('ItemListCtrl', ['$scope', '$http', function($scope, $http) { $http.get('http://localhost:3000/items').success(function(data) { $scope.items = data; }); $scope.itemOrder = 'title'; }]); mongomartControllers.controller('ItemDetailCtrl', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) { $scope.itemId = $routeParams.itemId; $http.get('http://localhost:3000/items/' + $routeParams.itemId).success(function(data) { $scope.item = data; }); }]);
  • 32. 32 Integrating Angular Into MongoMart (item- detail.html) <div class="row"> <div class="col-md-8"> <img class="img-responsive" src="{{item.img_url}}" alt=""> </div> <div class="col-md-4"> <h3>Product Description</h3> <p> {{item.description}} </p> </div> </div>
  • 33. 33 ● MongoDB as the backing database ● Express for routing in Node.js (e.g. /items) ● Angular for client side MVC, single page webapp ● Node.js as our application server MEAN Stack for MongoMart
  • 34. Our Node.js Application Structure Client side components, such as Javascript libraries and CSS (e.g. Bootstrap). Brief intro to Bower in the Angular section of this presentation. Our models using Mongoose Publicly accessible static files, such as images and CSS. Routes defined by express. Templates populated by routes from above app.js is our application’s starting place, this file is used to load all dependencies and other Node.js files
  • 37. 37 Links • MongoMart Github Location: https://github.com/zuketo/meanstack • MEAN Stack Course on Edx: https://www.edx.org/course/introduction- mongodb-using-mean-stack-mongodbx-m101x
  • 38. #MDBDays mongodb.com Get your technical questions answered In the foyer, 10:00 - 5:00 By appointment only – register in person
  • 39. Tell me how I did today on Guidebook and enter for a chance to win one of these How to do it: Download the Guidebook App Search for MongoDB Silicon Valley Submit session feedback