SlideShare a Scribd company logo
1 of 23
Download to read offline
MEAN Stack for
Beginners
I am Fathi Jemli
Full stack engineer, DevOps and Big Data
enthusiast
@jemlifathi
Hello!
Schedule
◉ Introduction
◉ Node.js
○ JavaScript standards
○ Node.js (Express)
○ Overview of JavaScript
◉ MongoDB
○ NoSQL introduction
○ MongoDB as an example
◉ Angular framework
○ Single Page Application
○ Angular
Node.js
JavaScript Server Side runtime environment
1
◉ Created 1995 at
NetScape
◉ Dynamic language
◉ Weakly typed
◉ Multi paradigm (event
driven, functional, OO)
◉ Supported by all modern
browsers
◉ JS ≠ Java
JavaScript (JS)
◉ Single thread
◉ Asynchronous
ECMAScript
◉ The scripting language
that forms the basis of
JavaScript.
◉ Each edition of ECMA
provides a set of new
features and standards.
JavaScript standards
(ECMAScript)
◉ ECMA 1: 1997
◉ ECMA 2: 1998
◉ …
◉ ECMA 6: 2015
◉ ECMA 7: 2016
◉ ECMA 8: 2017
V8
◉ Developed by “The
Chromium project” in
2008
◉ Used also by MongoDB
and Couchbase
◉ Compiles JS code into
machine code
Node.js (JavaScript Server-Side)
Node.js
◉ A runtime environment
for JS code server-side
◉ Created by Ryan Dahl in
2010
◉ Adds additional features
to Client side
JS(networking, file
system, etc)
Express.js
◉ Core concepts:
○ Middlewares
○ Routes
○ etc
◉ Standard Web
application framework
for Node.js
◉ Free and open source
◉ Designed for building
Web applications and
REST APIs
“
JavaScript is becoming more and
more popular and powerful.
“One language to rule them all”
MongoDB
Document oriented NoSQL database
2
NoSQL Introduction
◉ NoSQL(Not only SQL) ≠ Relational DBMS
◉ Data management concept for structural/non
structural and schema-less data
◉ Adopted by big companies such as Google and
Amazon as a solution for big data
◉ NoSQL paradigms:
○ Document oriented(MongoDB, CouchDB…)
○ Key/Value pairs(Redis...)
○ Column oriented(Cassandra...)
○ Graph oriented(Neo4J...)
MongoDB
◉ NoSQL document oriented DBMS
◉ The company behind Mongo is MongoDB Inc.
◉ Free and open source
◉ Using JSON like (BSON) to store data internally
◉ JSON like queries
◉ Distributed by default
◉ Supports data replication
◉ Supports binary storage
MongoDB data types
◉ Primitive data types like string, double,
boolean, etc.
◉ ObjectID: represents the unique ID of a
document
◉ Object: for nested objects
◉ Array: for lists
◉ Date/Timestamp
◉ Binary
MongoDB VS Relational DB
Solution/Unit
MongoDB Database Collection Document
Relational DB Database Relation(table) Tuple
Angular
Frontend JS framework
3
Single Page App (SPA)
◉ Single page load => enhance UI/UX
◉ Decrease requests to server => enhance
performance
◉ Bring the app burden to the client browser
◉ Simplifies application both development and
testing
◉ A lot of frameworks like Angular, React,
Backbone, Vue.js, etc.
◉ Mobile friendly
Angular
◉ Written by developers at Google
◉ Initial release: October 20, 2010
◉ MVVM(MVC) framework
Angular JS
◉ Features:
○ Two way data binding
○ Modular architecture
○ Dependency injection
◉ Core
○ Modules
○ Controllers/directives
○ Services/factories
○ Filters
○ Scope
Angular 2/4/5
◉ Features:
○ Using TypeScript for development => enhance code
structure and testing
○ Angular CLI: auto-generation and assistance from
app creation to deployment
○ Angular Universal: SEO optimized
○ Building the app as a set of components =>
reusability and testing
○ Powerful features like Http(rxjs), Reactive forms...
○ etc
Angular 2/4/5
◉ Core
○ Modules
○ Components
○ Services
○ Directives/pipes
○ Classes/interfaces
○ etc
MEAN Stack
The combination of all these technologies
Any questions ?
You can find me at
◉ @jemlifathi
◉ jemlifathi2013@gmail.com
Thanks!
Source code: Node.js + Angular 5

More Related Content

What's hot

Node JS Crash Course
Node JS Crash CourseNode JS Crash Course
Node JS Crash CourseHaim Michael
 
NODE JS OC Meetup 1
NODE JS OC Meetup 1NODE JS OC Meetup 1
NODE JS OC Meetup 1eddify
 
Javascript evolution
Javascript evolutionJavascript evolution
Javascript evolutionvinukumar_vs
 
Brief overview of TypeScript - Ljubljana JavaScript Users Group
 Brief overview of TypeScript - Ljubljana JavaScript Users Group Brief overview of TypeScript - Ljubljana JavaScript Users Group
Brief overview of TypeScript - Ljubljana JavaScript Users GroupPeter A. Pirc
 
Web assembly: a brief overview
Web assembly: a brief overviewWeb assembly: a brief overview
Web assembly: a brief overviewPavlo Iatsiuk
 
Css,javascript,php,mysql
Css,javascript,php,mysqlCss,javascript,php,mysql
Css,javascript,php,mysqlvurimi prasad
 
Node.js rulz! JavaScript takes over the full Stack
Node.js rulz! JavaScript takes over the full StackNode.js rulz! JavaScript takes over the full Stack
Node.js rulz! JavaScript takes over the full StackAdron Hall
 
Site building in drupal 9
Site building in drupal 9Site building in drupal 9
Site building in drupal 9NeelAndrew
 
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
 
History of JavaScript
History of JavaScriptHistory of JavaScript
History of JavaScriptRajat Saxena
 
Globant development week / Web workers
Globant development week / Web workersGlobant development week / Web workers
Globant development week / Web workersGlobant
 
Building your own Chrome Extension
Building your own Chrome ExtensionBuilding your own Chrome Extension
Building your own Chrome ExtensionSaptak Sengupta
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An OverviewNaveen Pete
 
Don't Fear the Platform
Don't Fear the PlatformDon't Fear the Platform
Don't Fear the PlatformESUG
 
A Cheapskates Guide to AWS v2.0
A Cheapskates Guide to AWS v2.0A Cheapskates Guide to AWS v2.0
A Cheapskates Guide to AWS v2.0Michael Soh
 
Server-side React with Headless CMS – Exove
Server-side React with Headless CMS – ExoveServer-side React with Headless CMS – Exove
Server-side React with Headless CMS – ExoveExove
 

What's hot (20)

Node JS Crash Course
Node JS Crash CourseNode JS Crash Course
Node JS Crash Course
 
NODE JS OC Meetup 1
NODE JS OC Meetup 1NODE JS OC Meetup 1
NODE JS OC Meetup 1
 
Javascript evolution
Javascript evolutionJavascript evolution
Javascript evolution
 
Brief overview of TypeScript - Ljubljana JavaScript Users Group
 Brief overview of TypeScript - Ljubljana JavaScript Users Group Brief overview of TypeScript - Ljubljana JavaScript Users Group
Brief overview of TypeScript - Ljubljana JavaScript Users Group
 
Web assembly: a brief overview
Web assembly: a brief overviewWeb assembly: a brief overview
Web assembly: a brief overview
 
Css,javascript,php,mysql
Css,javascript,php,mysqlCss,javascript,php,mysql
Css,javascript,php,mysql
 
Node.js rulz! JavaScript takes over the full Stack
Node.js rulz! JavaScript takes over the full StackNode.js rulz! JavaScript takes over the full Stack
Node.js rulz! JavaScript takes over the full Stack
 
Modern Javascript
Modern JavascriptModern Javascript
Modern Javascript
 
Build App with Nodejs - YWC Workshop
Build App with Nodejs - YWC WorkshopBuild App with Nodejs - YWC Workshop
Build App with Nodejs - YWC Workshop
 
Site building in drupal 9
Site building in drupal 9Site building in drupal 9
Site building in drupal 9
 
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
Mean StackMean Stack
Mean Stack
 
History of JavaScript
History of JavaScriptHistory of JavaScript
History of JavaScript
 
Globant development week / Web workers
Globant development week / Web workersGlobant development week / Web workers
Globant development week / Web workers
 
Building your own Chrome Extension
Building your own Chrome ExtensionBuilding your own Chrome Extension
Building your own Chrome Extension
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 
Don't Fear the Platform
Don't Fear the PlatformDon't Fear the Platform
Don't Fear the Platform
 
A Cheapskates Guide to AWS v2.0
A Cheapskates Guide to AWS v2.0A Cheapskates Guide to AWS v2.0
A Cheapskates Guide to AWS v2.0
 
Javascript DOM
Javascript DOMJavascript DOM
Javascript DOM
 
Server-side React with Headless CMS – Exove
Server-side React with Headless CMS – ExoveServer-side React with Headless CMS – Exove
Server-side React with Headless CMS – Exove
 

Similar to Mean Stack for Beginners

An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.jsKasey McCurdy
 
Java Script recruiting
Java Script recruitingJava Script recruiting
Java Script recruitingIhor Odynets
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stackAshok Raj
 
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 stackdivyapisces
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?Balajihope
 
Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraMeanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraKishore Chandra
 
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleDmytro Semenov
 
Node js (runtime environment + js library) platform
Node js (runtime environment + js library) platformNode js (runtime environment + js library) platform
Node js (runtime environment + js library) platformSreenivas Kappala
 
Node Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js TutorialNode Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js TutorialPHP Support
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - IntroductionWebStackAcademy
 
AD109 Navigating the Jungle of Modern Web Development
AD109 Navigating the Jungle of Modern Web DevelopmentAD109 Navigating the Jungle of Modern Web Development
AD109 Navigating the Jungle of Modern Web DevelopmentShean McManus
 
Building RESTtful services in MEAN
Building RESTtful services in MEANBuilding RESTtful services in MEAN
Building RESTtful services in MEANMadhukara Phatak
 
Comparison with storing data using NoSQL(CouchDB) and a relational database.
Comparison with storing data using NoSQL(CouchDB) and a relational database.Comparison with storing data using NoSQL(CouchDB) and a relational database.
Comparison with storing data using NoSQL(CouchDB) and a relational database.eross77
 

Similar to Mean Stack for Beginners (20)

An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
 
Mean stack
Mean stackMean stack
Mean stack
 
Java Script recruiting
Java Script recruitingJava Script recruiting
Java Script recruiting
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> 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
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraMeanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore Chandra
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
 
Node js (runtime environment + js library) platform
Node js (runtime environment + js library) platformNode js (runtime environment + js library) platform
Node js (runtime environment + js library) platform
 
Node ts1
Node ts1Node ts1
Node ts1
 
Node Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js TutorialNode Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js Tutorial
 
Knonex
KnonexKnonex
Knonex
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
AD109 Navigating the Jungle of Modern Web Development
AD109 Navigating the Jungle of Modern Web DevelopmentAD109 Navigating the Jungle of Modern Web Development
AD109 Navigating the Jungle of Modern Web Development
 
Building RESTtful services in MEAN
Building RESTtful services in MEANBuilding RESTtful services in MEAN
Building RESTtful services in MEAN
 
Treinamento frontend
Treinamento frontendTreinamento frontend
Treinamento frontend
 
Comparison with storing data using NoSQL(CouchDB) and a relational database.
Comparison with storing data using NoSQL(CouchDB) and a relational database.Comparison with storing data using NoSQL(CouchDB) and a relational database.
Comparison with storing data using NoSQL(CouchDB) and a relational database.
 
Brief History of JavaScript
Brief History of JavaScriptBrief History of JavaScript
Brief History of JavaScript
 

More from JEMLI Fathi

Why docker is taking over the world (docker birthday 2019)
Why docker is taking over the world (docker birthday 2019)Why docker is taking over the world (docker birthday 2019)
Why docker is taking over the world (docker birthday 2019)JEMLI Fathi
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)JEMLI Fathi
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with dockerJEMLI Fathi
 
Analyse des reseaux sociaux et détection des communautés en ligne
Analyse des reseaux sociaux et détection des communautés en ligneAnalyse des reseaux sociaux et détection des communautés en ligne
Analyse des reseaux sociaux et détection des communautés en ligneJEMLI Fathi
 
Découverte de Elastic search
Découverte de Elastic searchDécouverte de Elastic search
Découverte de Elastic searchJEMLI Fathi
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solutionJEMLI Fathi
 
Découverte de Redis
Découverte de RedisDécouverte de Redis
Découverte de RedisJEMLI Fathi
 

More from JEMLI Fathi (8)

Why docker is taking over the world (docker birthday 2019)
Why docker is taking over the world (docker birthday 2019)Why docker is taking over the world (docker birthday 2019)
Why docker is taking over the world (docker birthday 2019)
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
 
Analyse des reseaux sociaux et détection des communautés en ligne
Analyse des reseaux sociaux et détection des communautés en ligneAnalyse des reseaux sociaux et détection des communautés en ligne
Analyse des reseaux sociaux et détection des communautés en ligne
 
Découverte de Elastic search
Découverte de Elastic searchDécouverte de Elastic search
Découverte de Elastic search
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
Découverte de Redis
Découverte de RedisDécouverte de Redis
Découverte de Redis
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 

Mean Stack for Beginners

  • 2. I am Fathi Jemli Full stack engineer, DevOps and Big Data enthusiast @jemlifathi Hello!
  • 3. Schedule ◉ Introduction ◉ Node.js ○ JavaScript standards ○ Node.js (Express) ○ Overview of JavaScript ◉ MongoDB ○ NoSQL introduction ○ MongoDB as an example ◉ Angular framework ○ Single Page Application ○ Angular
  • 4. Node.js JavaScript Server Side runtime environment 1
  • 5. ◉ Created 1995 at NetScape ◉ Dynamic language ◉ Weakly typed ◉ Multi paradigm (event driven, functional, OO) ◉ Supported by all modern browsers ◉ JS ≠ Java JavaScript (JS) ◉ Single thread ◉ Asynchronous
  • 6. ECMAScript ◉ The scripting language that forms the basis of JavaScript. ◉ Each edition of ECMA provides a set of new features and standards. JavaScript standards (ECMAScript) ◉ ECMA 1: 1997 ◉ ECMA 2: 1998 ◉ … ◉ ECMA 6: 2015 ◉ ECMA 7: 2016 ◉ ECMA 8: 2017
  • 7. V8 ◉ Developed by “The Chromium project” in 2008 ◉ Used also by MongoDB and Couchbase ◉ Compiles JS code into machine code Node.js (JavaScript Server-Side) Node.js ◉ A runtime environment for JS code server-side ◉ Created by Ryan Dahl in 2010 ◉ Adds additional features to Client side JS(networking, file system, etc)
  • 8. Express.js ◉ Core concepts: ○ Middlewares ○ Routes ○ etc ◉ Standard Web application framework for Node.js ◉ Free and open source ◉ Designed for building Web applications and REST APIs
  • 9. “ JavaScript is becoming more and more popular and powerful. “One language to rule them all”
  • 11. NoSQL Introduction ◉ NoSQL(Not only SQL) ≠ Relational DBMS ◉ Data management concept for structural/non structural and schema-less data ◉ Adopted by big companies such as Google and Amazon as a solution for big data ◉ NoSQL paradigms: ○ Document oriented(MongoDB, CouchDB…) ○ Key/Value pairs(Redis...) ○ Column oriented(Cassandra...) ○ Graph oriented(Neo4J...)
  • 12. MongoDB ◉ NoSQL document oriented DBMS ◉ The company behind Mongo is MongoDB Inc. ◉ Free and open source ◉ Using JSON like (BSON) to store data internally ◉ JSON like queries ◉ Distributed by default ◉ Supports data replication ◉ Supports binary storage
  • 13. MongoDB data types ◉ Primitive data types like string, double, boolean, etc. ◉ ObjectID: represents the unique ID of a document ◉ Object: for nested objects ◉ Array: for lists ◉ Date/Timestamp ◉ Binary
  • 14. MongoDB VS Relational DB Solution/Unit MongoDB Database Collection Document Relational DB Database Relation(table) Tuple
  • 16. Single Page App (SPA) ◉ Single page load => enhance UI/UX ◉ Decrease requests to server => enhance performance ◉ Bring the app burden to the client browser ◉ Simplifies application both development and testing ◉ A lot of frameworks like Angular, React, Backbone, Vue.js, etc. ◉ Mobile friendly
  • 17. Angular ◉ Written by developers at Google ◉ Initial release: October 20, 2010 ◉ MVVM(MVC) framework
  • 18. Angular JS ◉ Features: ○ Two way data binding ○ Modular architecture ○ Dependency injection ◉ Core ○ Modules ○ Controllers/directives ○ Services/factories ○ Filters ○ Scope
  • 19. Angular 2/4/5 ◉ Features: ○ Using TypeScript for development => enhance code structure and testing ○ Angular CLI: auto-generation and assistance from app creation to deployment ○ Angular Universal: SEO optimized ○ Building the app as a set of components => reusability and testing ○ Powerful features like Http(rxjs), Reactive forms... ○ etc
  • 20. Angular 2/4/5 ◉ Core ○ Modules ○ Components ○ Services ○ Directives/pipes ○ Classes/interfaces ○ etc
  • 21. MEAN Stack The combination of all these technologies
  • 22.
  • 23. Any questions ? You can find me at ◉ @jemlifathi ◉ jemlifathi2013@gmail.com Thanks! Source code: Node.js + Angular 5