Top Banner
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
33

Workshop I wanna be a Grails rookie star there! - Pronoide

May 09, 2023

Download

Documents

Khang Minh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Workshop I wanna be a Grails rookie star there! - Pronoide

WorkshopCan You tell me how to get to Sesame Street? I wanna be a Grails rookie star there!

Fernando Redondo Ramírez

@pronoide_fer

Page 2: Workshop I wanna be a Grails rookie star there! - Pronoide

Roadmap

• Who am I

• Brief introduction…

• Hands on!

Page 3: Workshop I wanna be a Grails rookie star there! - Pronoide

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

Page 4: Workshop I wanna be a Grails rookie star there! - Pronoide

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

Page 5: Workshop I wanna be a Grails rookie star there! - Pronoide

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…

Page 6: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage I: Create web application

i. Create webapp (create-app sesame-street)

note: it’s no necessary if you choose the git way

Page 7: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage I: Create web application

i. Import webapp (XXXXXXX)

note: it’s compulsory if you choose the git way

Page 8: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage II: Create domain

ii. Create the domain classes (create-domain-class

sesamestreet.Muppet)

Page 9: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage II: Create domain

iii. Define properties, constants, constraints and mappings

Page 10: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage II: Create domain

iv. Let’s refactor and write down a Unit Test

Page 11: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage II: Create domain

v. Run Unit tests (test-app)

Page 12: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage II: Create domain

vi. Write an integration test (create-integration-test ) and

run it (test-app integration:)

Page 13: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage II: Create domain

vii. Let’s change database config and run again (test-app

integration:)

Page 14: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage III: Create business layer

viii. We have to create the service skeleton

(create-service sesamestret.MuppetDiscovery)

Page 15: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage III: Create business layer

ix. Let’s write the unit test first and run it (test-app

-unit sesamestreet.MuppetDiscoveryServiceUnitTests)

Page 16: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage III: Create business layer

x. Implement this service and its logging

Page 17: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage III: Create business layer

xii. create an integration test and run all tests (test-app)

Page 18: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage IV: Create web layer

xiii. Create a controller

(create-controller sesamestreet.MuppetDiscovery)

Page 19: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage IV: Create web layer

xiv. Refactor an write down test unit controller first of all

Page 20: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage IV: Create web layer

xv. Create integration test for controller too!

Page 21: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage IV: Create web layer

xvi. Let’s write down the initial GSP page of searches

Page 22: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage IV: Create web layer

xvii. GSP page for the best matched muppet

Page 23: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage IV: Create web layer

xviii. GSP page for no matched muppets

Page 24: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage IV: Create web layer

xix. presentation fine tuning (main.gsp/main.css)

Page 25: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage V: Run Webapp

xx. Start the web application (run-app)

Page 26: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage V: Run Webapp

xxi. Load data and map default controller

Page 27: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage V: Run Webapp

xxii. play with the database

Page 28: Workshop I wanna be a Grails rookie star there! - Pronoide

Stage V: Run Webapp

xxii. play with the webapp

Page 29: Workshop I wanna be a Grails rookie star there! - Pronoide

Extra ball: Spock test!

xxii. configure plugin and run (compile --refresh-depencies)

Page 30: Workshop I wanna be a Grails rookie star there! - Pronoide

Extra ball: Spock test!

xxii. let’s write some specs samples for unit and integration

Page 31: Workshop I wanna be a Grails rookie star there! - Pronoide

Extra ball: Spock test!

xxii. let’s write some specs samples for unit and integration

and run them (test-app :spock)

Page 32: Workshop I wanna be a Grails rookie star there! - Pronoide

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…

Page 33: Workshop I wanna be a Grails rookie star there! - Pronoide

thanks!

• @pronoide_fer

• https://github.com/fredondo/

[email protected]

• http://pronoide.com

• http://blog.pronoide.es