Introduction to MongoDB using the MEAN Stack
Offered By: MongoDB via edX
Course Description
Overview
This advanced computer science course will provide an overview of several of the most popular web and mobile app development toolkits, including MongoDB, ExpressJS, AngularJS, and Node.js. Together, these tools are called the “MEAN stack.”
This is an advanced course for experienced web developers. In this course, we will introduce the essential concepts of the MEAN stack using a fast-paced, learn-by- doing approach. As a concrete example, we will walk through building a retail application. This online store will enable users to search for products, add them to their cart, and check out using Stripe, an online payment processor. You’ll build your own REST API (Representational State Transfer Application Programming Interface) server from scratch using MongoDB schema design principles, as well as a web application using AngularJS and a hybrid mobile application using the Ionic framework.
When you complete the course, you will receive a discount to MongoDB Professional Certification, enabling you to demonstrate your skills, show recruiters and hiring managers your expertise, and earn a spot in the MongoDB Certified Professional Finder.
Syllabus
- Part 1: Introduction to MongoDB and NodeJS
- Starting a standalone mongod and connecting with shell
- package.json: installing dependencies with npm
- Connecting to mongodb with node.js
- node.js concurrency and event loop fundamentals
- require() basics
- Using mocha for testing
- package.json: npm run-script
- Running mocha tests with gulp
- Part 2: MongoDB schema design
- Overview of retail application
- Introduction to mongoose
- Schema design principle: store what you query for
- Schema design principle: principle of least cardinality
- MongoDB indexes
- Retail application schema: product
- Retail application schema: category
- Retail application schema: user and cart
- Advanced mongoose features: virtuals
- Advanced mongoose features: custom setters and sorting by currency
- Part 3: NodeJS REST APIs with Express
- What is a REST API?
- Introduction to express
- Dependency injection in NodeJS + ExpressJS
- API-level TDD
- Product API
- Category API
- Cart API
- Integrating facebook oauth on the server-side
- Integrating Stripe for payments
- Integrating MongoDB Text Search
- Integrating OpenExchangeRates
- Part 4: Building an AngularJS client
- Introduction: browserify and gulp-browserify
- What is a single page app?
- AngularJS philosophy and why it matters
- Controllers
- Services
- Client-side routing
- Facebook oauth token authentication
- Category view
- Product view
- Cart view
- Advanced topics: infinite scroll
- Part 5: Hybrid Mobile Apps with Ionic
- Introduction to hybrid mobile apps
- What is the Ionic framework?
- Code sharing between web client and Ionic app
- Ionic UI components
- Routing in Ionic
- Category view
- Product view
- Cart view
Taught by
Valeri Karpov
Tags
Related Courses
30 Days to Learn LaravelLaracasts 3D Graphics for Web Developers
Pompeu Fabra University via FutureLearn A Beginner’s Guide to Web Development with HTML5
Packt via FutureLearn Accessibility Audit
Amazon Web Services via AWS Skill Builder Expanding Your JS Skills with Angular
A Cloud Guru