SlideShare une entreprise Scribd logo
1  sur  18
RAD with MEAN 
A New Approach to 
Application Development
We are a bunch of nerds who love technology and problem solving 
Our Mission is to: 
• Identify the problem that customer is trying to solve 
• Help choose the best approach for his situation 
• Solve the problem with in the iron triangle constraints 
• Have Fun doing all the above steps 
We challenged ourselves to build a TODO application over a weekend with two of 
the most talked about full stack technologies 
After analyzing the results and code extensibility, we picked a winner
New Approach vs Traditional 
• Business has an idea that needs to be market tested without having to spend a million 
dollars in development cost 
• Traditional SDLCs take considerable story writing, planning, design, development, 
testing and stabilization efforts 
• Also any change will mean all the above phases. Traditional application or product 
development approach is not very forgiving when it comes to changing requirements 
• We need an approach where we can create a mobile ready web application in a short 
amount of time and still be very flexible in changing it without impacting existing data 
or having to do significant code refactor in all layers 
• New approach we are proposing here will allow developers to build in small chunks, 
test and validate with business and customers before building next chunk and the cost 
of changing the design or architecture at any point is negligible 
• We need something which enables businesses to decide as late as possible and 
development team to deliver as fast as possible
An App in a Weekend 
• Mobile ready, works on small / big screens 
• User can have his todo list displayed + ability to add/remove/modify items 
• User can Assign priorities and due dates to the items 
• User can sort his list using due date or priority 
• User can mark an entry as completed 
• Every client operation is done using JavaScript, reloading the page is not an option (for 
future offline capabilities) 
• RESTful API which will allow a third-party application to trigger actions on this app 
(same actions available on the webpage) 
• Ability to pass credentials to both the webpage and the API 
• Ability to create users in the system via an interface, a signup/register screen
Login Screen
Rest Services
Signup Screen 
Sign Up Screen | Client side validations | Server side validations
TODO Screen
TODO Screen 
Task updated in DB as soon as user checks it on client
Edit Mode
Validations
Usability on phone
Is this extensible or just prototype 
Add Male/Female flag to User.profile 
• Add drop down in SignUp screen and VO – 30mins 
• Add flag to User schema in db.js – 10mins 
Add ability to update/delete existing user 
• Add link from TODOs, new save & delete buttons, add $resource.put & delete – 2hrs 
• Add Rest put and delete methods in services.js– 30mins 
• Unit Testing – 20mins 
Add two fields to Tasks collection (table) 
• Add to schema (existing documents will be intact) – 20mins 
• No changes needed to api or service codes -- 0 
• Add to New, Edit, and View divs in UI any styling issues– 2hrs 
• Unit Testing – 20mins
“MEAN” stack (or “AMEN” stack ;-) 
• Mongo DB 
– http://www.mongodb.org/ 
• ExpressJS 
– http://expressjs.com/ 
• AngularJS 
– http://angularjs.org/ 
• NodeJS 
– http://nodejs.org/ 
• Knowledge of JavaScript is the only skill required to code, maintain 
and extend this application
Adoption Risk 
Mongo DB 
http://www.mongodb.com/customers/ 
• eBay: with 250M writes/day, 10M updates, 500M to 1B reads, 2ms (yes, millisecond) response time 24/7/365 
• Craigslist: Initial MongoDB deployment was designed to hold over 5 billion documents and 10TB of data 
ExpressJS 
http://expressjs.com/applications.html 
• MySpace 
• Yummly 
NodeJS 
http://nodejs.org/industry/ 
• Microsoft Azure 
• Yahoo 
• eBay, Walmart etc… 
AngularJS [by Google] 
http://builtwith.angularjs.org/
Rapid Development 
• The skillset is simple, a developer who understands JavaScript is good to go on all 
layers, no UI developer vs business layer vs db layer 
• Communication between front-end to business to db layer is all happening through 
JavaScript objects which is the reason for so much gain in development speed 
• MongoDB gives us NoSQL speed without constraining us to name value pairs, each 
document in MongoDB can store information of up to 16MB 
• MongoDB’s schema agility allows storage of differently structured documents in same 
collection. So if the structure of a table has changed, no need to worry about existing 
data, it will work fine 
• ExpressJS and AngularJS abstract and give us most of the common classes that we 
have to code in all applications so developers write and maintain less code
Scalable Application 
• NodeJS is an event-driven server-side JavaScript environment. Node runs JavaScript 
using Google Chrome’s V8 Engine which means three very important things 
– JavaScript runs extremely fast on Node 
– Node can render client side pages on server side for mobile applications when 
needed or for old browsers which have issue with JS speed on client side 
– Node is even-driven which means no threads are required like for Java and .Net 
applications, it is more natural multi threaded IO with Node 
• MongoDB is one of the best and easy to master horizontally scalable NoSQL database 
around. Sharding with MongoDB is very easy and its document model gives us schema 
agility which is a super power in app development world
If traditional application development is not working for you anymore and you are 
thinking of alternative approaches, we can help you 
Feel free to contact us

Contenu connexe

Tendances

MongoDB and the MEAN Stack
MongoDB and the MEAN StackMongoDB and the MEAN Stack
MongoDB and the MEAN Stack
MongoDB
 
Beginning MEAN Stack
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN Stack
Rob Davarnia
 

Tendances (20)

Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN Stack
 
Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stack
 
MEAN stack
MEAN stackMEAN stack
MEAN stack
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 
MongoDB and the MEAN Stack
MongoDB and the MEAN StackMongoDB and the MEAN Stack
MongoDB and the MEAN Stack
 
Beginning MEAN Stack
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN Stack
 
You know what iMEAN? Using MEAN stack for application dev on Informix
You know what iMEAN? Using MEAN stack for application dev on InformixYou know what iMEAN? Using MEAN stack for application dev on Informix
You know what iMEAN? Using MEAN stack for application dev on Informix
 
NodeSummit - MEAN Stack
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - 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
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack development
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
 
Building Modern Web Apps with MEAN Stack
Building Modern Web Apps with MEAN StackBuilding Modern Web Apps with MEAN Stack
Building Modern Web Apps with MEAN Stack
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Angular js introduction
Angular js introductionAngular js introduction
Angular js introduction
 
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 ...
 
Introduction to MERN
Introduction to MERNIntroduction to MERN
Introduction to MERN
 
Mean stack
Mean stackMean stack
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
 

Similaire à Rapid Application Development with MEAN Stack

Inthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePointInthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePoint
Inthiyaz Pathan
 
COMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxCOMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docx
write31
 
Nitin_updated_Profile
Nitin_updated_ProfileNitin_updated_Profile
Nitin_updated_Profile
Nitin Saxena
 
SadikulIslamDotNetResume
SadikulIslamDotNetResumeSadikulIslamDotNetResume
SadikulIslamDotNetResume
Sadikul Islam
 
Agileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarAgileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinar
Roberto Jr. Figueroa
 
Ehab wafik CV(1)
Ehab wafik CV(1)Ehab wafik CV(1)
Ehab wafik CV(1)
Ehab Wafik
 

Similaire à Rapid Application Development with MEAN Stack (20)

Inthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePointInthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePoint
 
Case study(i)
Case study(i)Case study(i)
Case study(i)
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
 
COMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxCOMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docx
 
Online Building Plan
Online Building PlanOnline Building Plan
Online Building Plan
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
Rashmi_TL
Rashmi_TLRashmi_TL
Rashmi_TL
 
Nitin_updated_Profile
Nitin_updated_ProfileNitin_updated_Profile
Nitin_updated_Profile
 
Monoliths to microservices workshop
Monoliths to microservices workshopMonoliths to microservices workshop
Monoliths to microservices workshop
 
SadikulIslamDotNetResume
SadikulIslamDotNetResumeSadikulIslamDotNetResume
SadikulIslamDotNetResume
 
AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)
 
Home management WebApp presentation
Home management WebApp presentationHome management WebApp presentation
Home management WebApp presentation
 
Agileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarAgileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinar
 
How to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology ChoicesHow to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology Choices
 
Sam segal resume
Sam segal resumeSam segal resume
Sam segal resume
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case study
 
Ehab wafik CV(1)
Ehab wafik CV(1)Ehab wafik CV(1)
Ehab wafik CV(1)
 
Dharik_Soni
Dharik_SoniDharik_Soni
Dharik_Soni
 
Wecreate
WecreateWecreate
Wecreate
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

Rapid Application Development with MEAN Stack

  • 1. RAD with MEAN A New Approach to Application Development
  • 2. We are a bunch of nerds who love technology and problem solving Our Mission is to: • Identify the problem that customer is trying to solve • Help choose the best approach for his situation • Solve the problem with in the iron triangle constraints • Have Fun doing all the above steps We challenged ourselves to build a TODO application over a weekend with two of the most talked about full stack technologies After analyzing the results and code extensibility, we picked a winner
  • 3. New Approach vs Traditional • Business has an idea that needs to be market tested without having to spend a million dollars in development cost • Traditional SDLCs take considerable story writing, planning, design, development, testing and stabilization efforts • Also any change will mean all the above phases. Traditional application or product development approach is not very forgiving when it comes to changing requirements • We need an approach where we can create a mobile ready web application in a short amount of time and still be very flexible in changing it without impacting existing data or having to do significant code refactor in all layers • New approach we are proposing here will allow developers to build in small chunks, test and validate with business and customers before building next chunk and the cost of changing the design or architecture at any point is negligible • We need something which enables businesses to decide as late as possible and development team to deliver as fast as possible
  • 4. An App in a Weekend • Mobile ready, works on small / big screens • User can have his todo list displayed + ability to add/remove/modify items • User can Assign priorities and due dates to the items • User can sort his list using due date or priority • User can mark an entry as completed • Every client operation is done using JavaScript, reloading the page is not an option (for future offline capabilities) • RESTful API which will allow a third-party application to trigger actions on this app (same actions available on the webpage) • Ability to pass credentials to both the webpage and the API • Ability to create users in the system via an interface, a signup/register screen
  • 7. Signup Screen Sign Up Screen | Client side validations | Server side validations
  • 9. TODO Screen Task updated in DB as soon as user checks it on client
  • 13. Is this extensible or just prototype Add Male/Female flag to User.profile • Add drop down in SignUp screen and VO – 30mins • Add flag to User schema in db.js – 10mins Add ability to update/delete existing user • Add link from TODOs, new save & delete buttons, add $resource.put & delete – 2hrs • Add Rest put and delete methods in services.js– 30mins • Unit Testing – 20mins Add two fields to Tasks collection (table) • Add to schema (existing documents will be intact) – 20mins • No changes needed to api or service codes -- 0 • Add to New, Edit, and View divs in UI any styling issues– 2hrs • Unit Testing – 20mins
  • 14. “MEAN” stack (or “AMEN” stack ;-) • Mongo DB – http://www.mongodb.org/ • ExpressJS – http://expressjs.com/ • AngularJS – http://angularjs.org/ • NodeJS – http://nodejs.org/ • Knowledge of JavaScript is the only skill required to code, maintain and extend this application
  • 15. Adoption Risk Mongo DB http://www.mongodb.com/customers/ • eBay: with 250M writes/day, 10M updates, 500M to 1B reads, 2ms (yes, millisecond) response time 24/7/365 • Craigslist: Initial MongoDB deployment was designed to hold over 5 billion documents and 10TB of data ExpressJS http://expressjs.com/applications.html • MySpace • Yummly NodeJS http://nodejs.org/industry/ • Microsoft Azure • Yahoo • eBay, Walmart etc… AngularJS [by Google] http://builtwith.angularjs.org/
  • 16. Rapid Development • The skillset is simple, a developer who understands JavaScript is good to go on all layers, no UI developer vs business layer vs db layer • Communication between front-end to business to db layer is all happening through JavaScript objects which is the reason for so much gain in development speed • MongoDB gives us NoSQL speed without constraining us to name value pairs, each document in MongoDB can store information of up to 16MB • MongoDB’s schema agility allows storage of differently structured documents in same collection. So if the structure of a table has changed, no need to worry about existing data, it will work fine • ExpressJS and AngularJS abstract and give us most of the common classes that we have to code in all applications so developers write and maintain less code
  • 17. Scalable Application • NodeJS is an event-driven server-side JavaScript environment. Node runs JavaScript using Google Chrome’s V8 Engine which means three very important things – JavaScript runs extremely fast on Node – Node can render client side pages on server side for mobile applications when needed or for old browsers which have issue with JS speed on client side – Node is even-driven which means no threads are required like for Java and .Net applications, it is more natural multi threaded IO with Node • MongoDB is one of the best and easy to master horizontally scalable NoSQL database around. Sharding with MongoDB is very easy and its document model gives us schema agility which is a super power in app development world
  • 18. If traditional application development is not working for you anymore and you are thinking of alternative approaches, we can help you Feel free to contact us