Greach 2014 Sesamestreet Grails2 Workshop

  • 428 views
Uploaded 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 …

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.

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
428
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
1
Comments
1
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. Roadmap • Who am I • Brief introduction… • Hands on!
  • 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. 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. 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. Stage I: Create web application i. Create webapp (create-app sesame-street) note: it’s no necessary if you choose the git way
  • 7. Stage I: Create web application i. Import webapp (XXXXXXX) note: it’s compulsory if you choose the git way
  • 8. Stage II: Create domain ii. Create the domain classes (create-domain-class sesamestreet.Muppet)
  • 9. Stage II: Create domain iii. Define properties, constants, constraints and mappings
  • 10. Stage II: Create domain iv. Let’s refactor and write down a Unit Test
  • 11. Stage II: Create domain v. Run Unit tests (test-app)
  • 12. Stage II: Create domain vi. Write an integration test (create-integration-test ) and run it (test-app integration:)
  • 13. Stage II: Create domain vii. Let’s change database config and run again (test-app integration:)
  • 14. Stage III: Create business layer viii.We have to create the service skeleton (create-service sesamestret.MuppetDiscovery)
  • 15. Stage III: Create business layer ix. Let’s write the unit test first and run it (test-app -unit sesamestreet.MuppetDiscoveryServiceUnitTests)
  • 16. Stage III: Create business layer x. Implement this service and its logging
  • 17. Stage III: Create business layer xii. create an integration test and run all tests (test-app)
  • 18. Stage IV: Create web layer xiii.Create a controller (create-controller sesamestreet.MuppetDiscovery)
  • 19. Stage IV: Create web layer xiv. Refactor an write down test unit controller first of all
  • 20. Stage IV: Create web layer xv. Create integration test for controller too!
  • 21. Stage IV: Create web layer xvi. Let’s write down the initial GSP page of searches
  • 22. Stage IV: Create web layer xvii. GSP page for the best matched muppet
  • 23. Stage IV: Create web layer xviii. GSP page for no matched muppets
  • 24. Stage IV: Create web layer xix. presentation fine tuning (main.gsp/main.css)
  • 25. Stage V: Run Webapp xx. Start the web application (run-app)
  • 26. Stage V: Run Webapp xxi. Load data and map default controller
  • 27. Stage V: Run Webapp xxii. play with the database
  • 28. Stage V: Run Webapp xxii. play with the webapp
  • 29. Extra ball: Spock test! xxii. configure plugin and run (compile --refresh-depencies)
  • 30. Extra ball: Spock test! xxii. let’s write some specs samples for unit and integration
  • 31. Extra ball: Spock test! xxii. let’s write some specs samples for unit and integration and run them (test-app :spock)
  • 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. thanks! • @pronoide_fer • https://github.com/fredondo/ • fredondo@pronoide.com • http://pronoide.com • http://blog.pronoide.es