17
Trisha Gee, MongoDB Java Engineer @SVQMongoDB / @SVQJUG Rapid Application Prototyping with Java & MongoDB @trisha_gee

MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

Embed Size (px)

DESCRIPTION

NoSQL solutions are, apparently, “agile” and easy to prototype with. I’m going to demonstrate what this really means, by creating a simple web application in less than an hour, in front of your very eyes. I'm going to use a static, boiler-plate-heavy language (Java) to create a web application in under an hour, in front of your very eyes. The JVM is a true polyglot platform, and I’m going to show you how to use the correct tools for each part of your application, including: AngularJS; Bootstrap; HTML 5; Web Services; Java-the-language; MongoDB; and Groovy - a fully buzz-word-compliant application. While I won’t go into every technology in depth, I’ll demonstrate the role of each tool and how they interact. At the end of the talk we will have a fully working mobile-and-browser-friendly application, without compromising on design or good practice. It’s even going to have tests.

Citation preview

Page 1: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

Trisha Gee, MongoDB Java Engineer

@SVQMongoDB / @SVQJUG

Rapid Application Prototyping with Java & MongoDB

@trisha_gee

Page 2: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

Live Coding: What Could Possibly Go Wrong

Page 3: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

Fully Buzz Word Compliant

• AngularJS (HTML5, JavaScript)

• Bootstrap (& UI Bootstrap)

• Drop Wizard (Jackson, Jersey, Jetty)

• MongoDB via Morphia (& Java Driver)

• Gradle, Groovy & Spock

• IntelliJ IDEA

Page 4: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

Hopefully you’ll learn…

• Java People: AngularJS / modern web UIs

• Non-Java People: Java Simplicity

• MongoDB

• Knowing your tools = productivity

Page 5: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

I want coffee!!!

Page 6: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

As a user of this amazing application, I need to be able to see it

Story 0

Page 7: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

As a coffee drinker, I would like to be able to select the coffee I want to order

Story 1

Page 8: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

As a coffee shop, I need to know which size and who ordered it so it goes to the right person

Story 2

Page 9: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

As someone with eyes, I would really like this to not look like crap

Story 3

Page 10: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

As a drinker of fine hot and cold drinks, I need to send this order to an actual coffee shop

Story 4

Page 11: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

As a systems admin, I need to know the connection to MongoDB is closed when the server stops

Story 5

Page 12: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

As a normal paranoid human being, I want to see my order made it to the server

Story 6

Page 13: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

As a thirsty person, I want to know where to pick my coffee up from

Story 7

Page 14: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

Caveats

•Took me a bit longer to create the original application

•I did cheat a bit with IntelliJ

•Nothing in any great depth

Page 15: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

Resources

• REST in Practice: Hypermedia and Systems Architecture - Jim Webber etc

• AngularJS in 60 mins - http://www.youtube.com/watch?v=i9MHigUZKEM

• AngularJS meets JavaEE - https://blogs.oracle.com/geertjan/entry/angularjs_meets_java_ee_7

Page 16: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

Resources• http://getbootstrap.com

• http://angular-ui.github.io/bootstrap/

• http://dropwizard.codahale.com/getting-started/

• http://mongodb.org

• https://github.com/mongodb/morphia/

• https://github.com/trishagee/cafelito

Page 17: MongoDB, Angular.js, HTML5, Groovy, Java all together - WCPGW?!

Questions?

Presentation Video: http://bit.ly/1qbVA2q

@trisha_gee@SVQMongoDB / @SVQJUG