3. JACOB AAE MIKKELSEN
Senior Engineer at Lego
Microservice based architechture on JVM
Previously 4 years at Gennemtænkt IT
Consultant on Groovy and Grails
External Associate Professor - University of Southern
Denmark
@JacobAae
Blogs The Grails Diary
6. GOAL
To bridge the gap between the theoretical academic
world and the outside practical world
Practical project
4 parts
14 groups of 3 student
Same proposal → 14 very different results
9. FORMAL EVALUATION GOALS (1)
Design an application in an MVC web framework,
including the separation of logic and presentation
Apply and demonstrate the use of tools for static code
analysis
Apply and demonstrate the use of tools for test coverage
Evaluate and comment on code quality, for example. by
code review
Use version control and semantic versioning with a group
of other developers
10. FORMAL EVALUATION GOALS (2)
Analyze and test the security in web applications
Configure a cloud based hosting server for a
webapplikation with database access
Use continous integration and automate the proces of
testing and deploying
Implement the designed webapplication, with support for
multiple languages, responsive design and asynchronous
updates (one-page-app)
23. USING DATECREATED
We would like to use dateCreatedin validation, as
some of the dates cannot be set in the past (at
creation time)
Not set before it is saved - cannot use new Date()
on edit
24. DATA MODELLING WITH EMBEDDED
CLASSES
For a delivery company, we have a delivery having
two embedded delivery points each having an
embedded address. Gorm cannot handle this
(naming clash)
25. GEB TESTING
The Geb test fails because the bottom bar is on top of
the button
when: "we click next"
JavascriptExecutor executor = (JavascriptExecutor) driver
executor.executeScript("window.scrollBy(0,500)")
$("input", name: "Next").click()
27. PROJECT OUTCOME
Some of the results
https://crashh.me/dm844/
https://www.temporaria.me/
https://www.fmind.me
https://ss-software.dk/
https://www.pconnector.me/
https://clubadmin.dk
30. UP’S
Dynamic scaffolding - and speed to get started
Great Project results
Engaging students (most of them)
Helpfull in Facebook Group
Wow-factors
GORM
AST transformations
Spock - where clause for testing