Greach 2014 Sesamestreet Grails2 Workshop

895 views

Published on

During this workshop a practical example of a web application will be developed. Its nature will be ludic (based on Sesame Street characters) but complex enough to put into spot the different features of Grails likewise as Domain Classes, Validators, GORM, Controllers, Services, Testing, etc. Everything will be developed using Groovy/Grails Tool Suite.

This workshop will cover all the commands necessary from the beginning of the project to its end, as well as the fine settings required to run it properly. The whole point will underline what Grails specific traits are over the other rapid development models in use at the moment.

All necessary program code to develop the workshop application will be supplied in advance to the attendants.

Published in: Technology, Education
1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total views
895
On SlideShare
0
From Embeds
0
Number of Embeds
154
Actions
Shares
0
Downloads
9
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

Greach 2014 Sesamestreet Grails2 Workshop

  1. 1. Workshop Can You tell me how to get to Sesame Street? I wanna be a Grails rookie star there! Fernando Redondo Ramírez @pronoide_fer
  2. 2. Roadmap • Who am I • Brief introduction… • Hands on!
  3. 3. Whoami • Entreprenour and Business Manager at Pronoide since 2003 • Java & Friends Trainer • Doing things with Java from 1999 on • Computer Engineer • Happily married and proud father of two children who love all Sesase Street stuff
  4. 4. Brief introduction - Just another grails workshop (jagw)? - Yes indeed!, but: • We’ll leverage grails 2 • We’ll use TDD and we’re going to do a lot of tests • We’ll deal with the whole app code • We won’t do Scaffolding ;) • No plugins are necessary
  5. 5. Hands on! Before start, you have to… 1. Install git in your computer http://git-scm.com/book/en/Getting-Started-Installing-Git 2. Install jruby or ruby http://jruby.org/getting-started https://www.ruby-lang.org/en/installation/ 3. Install git presenter (gem install git_presenter) 4. Download Groovy/Grails Tool Suite 3.4 https://spring.io/tools/ggts/all 5. Start Groovy/Grails Tool Suite 3.4 (GGTS) and choose or create a workspace (remember run it with a JDK) 6. Download http://pronoide.com/downloads/greach-workshop-2014.zip and unzip it into workspace folder. 7. Hold on! Please wait me right here…
  6. 6. Stage I: Create web application i. Create webapp (create-app sesame-street) note: it’s no necessary if you choose the git way
  7. 7. Stage I: Create web application i. Import webapp (XXXXXXX) note: it’s compulsory if you choose the git way
  8. 8. Stage II: Create domain ii. Create the domain classes (create-domain-class sesamestreet.Muppet)
  9. 9. Stage II: Create domain iii. Define properties, constants, constraints and mappings
  10. 10. Stage II: Create domain iv. Let’s refactor and write down a Unit Test
  11. 11. Stage II: Create domain v. Run Unit tests (test-app)
  12. 12. Stage II: Create domain vi. Write an integration test (create-integration-test ) and run it (test-app integration:)
  13. 13. Stage II: Create domain vii. Let’s change database config and run again (test-app integration:)
  14. 14. Stage III: Create business layer viii.We have to create the service skeleton (create-service sesamestret.MuppetDiscovery)
  15. 15. Stage III: Create business layer ix. Let’s write the unit test first and run it (test-app -unit sesamestreet.MuppetDiscoveryServiceUnitTests)
  16. 16. Stage III: Create business layer x. Implement this service and its logging
  17. 17. Stage III: Create business layer xii. create an integration test and run all tests (test-app)
  18. 18. Stage IV: Create web layer xiii.Create a controller (create-controller sesamestreet.MuppetDiscovery)
  19. 19. Stage IV: Create web layer xiv. Refactor an write down test unit controller first of all
  20. 20. Stage IV: Create web layer xv. Create integration test for controller too!
  21. 21. Stage IV: Create web layer xvi. Let’s write down the initial GSP page of searches
  22. 22. Stage IV: Create web layer xvii. GSP page for the best matched muppet
  23. 23. Stage IV: Create web layer xviii. GSP page for no matched muppets
  24. 24. Stage IV: Create web layer xix. presentation fine tuning (main.gsp/main.css)
  25. 25. Stage V: Run Webapp xx. Start the web application (run-app)
  26. 26. Stage V: Run Webapp xxi. Load data and map default controller
  27. 27. Stage V: Run Webapp xxii. play with the database
  28. 28. Stage V: Run Webapp xxii. play with the webapp
  29. 29. Extra ball: Spock test! xxii. configure plugin and run (compile --refresh-depencies)
  30. 30. Extra ball: Spock test! xxii. let’s write some specs samples for unit and integration
  31. 31. Extra ball: Spock test! xxii. let’s write some specs samples for unit and integration and run them (test-app :spock)
  32. 32. We're done! I wish i would have had this app 4 years ago… Meanwhile at the time being a new period begins: Superheroes and fairies, but that remains for the next year greach…
  33. 33. thanks! • @pronoide_fer • https://github.com/fredondo/ • fredondo@pronoide.com • http://pronoide.com • http://blog.pronoide.es

×