Coder Social home page Coder Social logo

mdbw18's Introduction

MongoDB

Getting MEAN

An Introduction to Modern, API-centered Application Development with Node.js and MongoDB

Background

This repository was created as a resource for a talk to be delivered at MongoDB World 2018. It was designed to be consumed in a series of quests and will culminate in the creation of a functional application and API that creates, reads, updates, and deletes data from and within a MongoDB database.

The title of the talk is "Zero to Hero in 80 minutes with the Node.js and MongoDB". That's a tall order. Let's first address the first and most obvious question: What is a hero?

he·ro

ˈhirō/Submit

noun

  1. a person who is admired or idealized for courage, outstanding achievements, or noble qualities. "a war hero" synonyms: brave person, brave man/woman, man/woman of courage, man/woman of the hour, lionheart, warrior, knight;

  2. NORTH AMERICAN another term for submarine sandwich.

So I'm either going to impart to you a series of teachings, tools, weapons and resources that will enable you to become a brave, courageous person that can be admired for noble qualities, or I'm going to teach you to become sandwich-like... or both.

The format of the workshop is simple. We'll leverage a series of quests.

Weapons, Tools and Resources

Concepts

Document Model

MongoDB is a post-tabular database platform that leverages a document model to store data. This means simply that it leverages documents rather than tables. Documents consist of JavaScript Object Notation (JSON) structures. These structures are comprised of key/value pairs in which the keys are always strings and the values can be one of many types including:

  • Strings
  • Numbers
  • Arrays
  • Nested Objects - Sometimes referred to as sub-documents.

Here's an example of a document:

{
    '_id' : 1,
    'name' : { 'first' : 'John', 'last' : 'Backus' },
    'contribs' : [ 'Fortran', 'ALGOL', 'Backus-Naur Form', 'FP' ],
    'awards' : [
        {
            'award' : 'W.W. McDowell Award',
            'year' : 1967,
            'by' : 'IEEE Computer Society'
        }, {
            'award' : 'Draper Prize',
            'year' : 1993,
            'by' : 'National Academy of Engineering'
        }
    ]
}

For additional information, see MongoDB JSON/BSON Documents

Importing Data

Helpful Hints

We'll continues working on this together. If you have a question or problem, let one of the mentors know.

Table of Contents

Quest Description
Quest Zero First quest to read. Provides some overview information and background.
Quest 1 Initialize your project and install some of the required software.
Quest 2 creating a quick test JavaScript.
Quest 3 Crafting your own tools: Building a server process using httpd and express
Quest 4 Building Your App
Quest 5 Defining the data for our application
Quest 6 Enter MongoDB - Native JavaScript
Quest 7 Creating and Reading data using the Native MongoDB Driver
Quest 8 Mongoose - Object Data Modeling
Quest 9 Creating and Reading data using Mongoose

Next

What's next? Ready to start your journey of development? Continue on from here to the workshop. There are X stages or branches of development in the workshop. If you successfully complete each branch or stage, you'll end up with a fully functional API-centered application written in Node.js.

Next Quest: Quest Zero - Introduction to quests and some basics.

mdbw18's People

Contributors

kenwalger avatar

Watchers

Nishant Bhardwaj avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.