Date post: | 25-May-2015 |
Category: |
Technology |
Upload: | fernando-redondo-ramirez |
View: | 530 times |
Download: | 0 times |
WorkshopCan You tell me how to get to Sesame Street? I wanna be a Grails rookie star there!
Fernando Redondo Ramírez
@pronoide_fer
Roadmap
• Who am I
• Brief introduction…
• Hands on!
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
Brief introduction
- Just another grails workshop (jagw)?
- Yes indeed!, but:
• We’ll leverage grails 2
• We’ll use TDD and we’re goingto do a lot of tests
• We’ll deal with the whole app code
• We won’t do Scaffolding ;)
• No plugins are necessary
Hands on!
Before start, you have to…
1. Install git in your computerhttp://git-scm.com/book/en/Getting-Started-Installing-Git
2. Install jruby or rubyhttp://jruby.org/getting-startedhttps://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 orcreate 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…
Stage I: Create web application
i. Create webapp (create-app sesame-street)
note: it’s no necessary if you choose the git way
Stage I: Create web application
i. Import webapp (XXXXXXX)
note: it’s compulsory if you choose the git way
Stage II: Create domain
ii. Create the domain classes (create-domain-class
sesamestreet.Muppet)
Stage II: Create domain
iii. Define properties, constants, constraints and mappings
Stage II: Create domain
iv. Let’s refactor and write down a Unit Test
Stage II: Create domain
v. Run Unit tests (test-app)
Stage II: Create domain
vi. Write an integration test (create-integration-test ) and
run it (test-app integration:)
Stage II: Create domain
vii. Let’s change database config and run again (test-app
integration:)
Stage III: Create business layer
viii. We have to create the service skeleton
(create-service sesamestret.MuppetDiscovery)
Stage III: Create business layer
ix. Let’s write the unit test first and run it (test-app
-unit sesamestreet.MuppetDiscoveryServiceUnitTests)
Stage III: Create business layer
x. Implement this service and its logging
Stage III: Create business layer
xii. create an integration test and run all tests (test-app)
Stage IV: Create web layer
xiii. Create a controller
(create-controller sesamestreet.MuppetDiscovery)
Stage IV: Create web layer
xiv. Refactor an write down test unit controller first of all
Stage IV: Create web layer
xv. Create integration test for controller too!
Stage IV: Create web layer
xvi. Let’s write down the initial GSP page of searches
Stage IV: Create web layer
xvii. GSP page for the best matched muppet
Stage IV: Create web layer
xviii. GSP page for no matched muppets
Stage IV: Create web layer
xix. presentation fine tuning (main.gsp/main.css)
Stage V: Run Webapp
xx. Start the web application (run-app)
Stage V: Run Webapp
xxi. Load data and map default controller
Stage V: Run Webapp
xxii. play with the database
Stage V: Run Webapp
xxii. play with the webapp
Extra ball: Spock test!
xxii. configure plugin and run (compile --refresh-depencies)
Extra ball: Spock test!
xxii. let’s write some specs samples for unit and integration
Extra ball: Spock test!
xxii. let’s write some specs samples for unit and integration
and run them (test-app :spock)
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…
thanks!
• @pronoide_fer
• https://github.com/fredondo/
• http://pronoide.com
• http://blog.pronoide.es