SlideShare a Scribd company logo
1 of 19
Download to read offline
@codescrum
Application Example based on
Gov.uk public code
This talk shows how we can implement a
custom customer service flow based on the
SmartAnswers module from the GOV.UK
project.
Jairo Diaz
@codescrum
@codescrum
Requirement
● Implement a pension advice tool:
Start
Question
1
Question
2
Oucome
1
Question
4
Oucome
2
Oucome
3
Oucome
4
@codescrum
GOV.UK
● https://www.gov.uk/which-finance-is-right-for-your-business/
@codescrum
Can we reuse?
1. Spike: Install and implement a simple flow
2. Review code
3. Reuse code
@codescrum
Step 1. Test Simple Flow
● Github project: alphagov / smart-answers-stack
● Check Readme.md
@codescrum
Dependencies for Smart-answers
Smart-anwers
(5001)
Static
(5000)
GovUk_Content_API
(5002)
MongoDb
(27017)
Local URL:
http://smartanswers.dev.gov.uk/which-finance-is-right-for-your-business
@codescrum
Smart-answers DSL (flow.rb)
multiple_choice :have_you_got_a_letter? do
option :yes => :what_does_your_letter_say?
option :no => :workplace_pension_good_idea
end
multiple_choice :what_does_your_letter_say? {...}
outcome :workplace_pension_good_idea
outcome :no_outcome
@codescrum
Smart-answers Text (flow.yml)
en:
test-flow:
flow:
have_you_got_a_letter?:
title: Have you received a letter ...
options:
"yes": "Yes"
"no": "No"
workplace_pension_good_idea:
body: “the advice is here”
@codescrum
Step 2. Review Code
CodeClimate Metrics:
Duplication / Complex Method / Complex Class
@codescrum
Test Coverage
@codescrum
Rails App
SmartAnswers
Controller
SmartAnswers
Presenter
Show.html.erb
Look up translations
Controls UI elements
Find Flow
Control user interaction
Controls Display for a
multiple choice question with “options”
MultipleChoice
QuestionPresenter
Renders UI
@codescrum
Library Interface
SmartAnswers
Presenter
FlowRegistry
MultipleChoiceMultipleChoice
QuestionPresenter
Method instance
Method find
Flow
Method name
Method process
Method node
Method path
SmartAnswers
Controller
Method name
Method process
Method node
Method path
Method name
Method options
Method to_response
@codescrum
Library Implementation
State
Node
Question::Base
SmartAnswers
Presenter
FlowRegistry
MultipleChoiceMultipleChoice
QuestionPresenter
Flow
SmartAnswers
Controller
@codescrum
Step 3. Reuse Code
FlowStatePresenter
QuestionPresenter
Flows
Controller
SmartAnswers
Presenter
MultipleChoice
QuestionPresenter
SmartAnswers
Controller
FlowRegistry
MultipleChoice
Flow
@codescrum
Additional elements
● Custom Javascript application
● Localisation for an additional language
● Cucumber / RSpec testbed
● Google Analytics configuration
● Deployment
● Service monitoring
@codescrum
Workplace pension advice tool
https://www.moneyadviceservice.org.uk/en/tools/workplace-pension-advice-tool
@codescrum
The new budget tool
https://www.moneyadviceservice.org.uk/en/tools/the-budget-and-you
@codescrum
Other Interesting Projects
● Smart-answers-builder
file://localhost/Users/User/Github/smart-answer-builder/index.html
● Performance management apps (backdrop)
https://www.gov.uk/performance/dashboard
● CMS: whitehall / publisher / frontend
● Puppet modules
@codescrum
Thank you & Questions

More Related Content

Viewers also liked

2010全国巡演报道
2010全国巡演报道2010全国巡演报道
2010全国巡演报道
Kai Dong
 
Av芭比相册
Av芭比相册Av芭比相册
Av芭比相册
Kai Dong
 
The evolution of the BT strategy
The evolution of  the BT strategyThe evolution of  the BT strategy
The evolution of the BT strategy
LBi UK
 
Exwfylla 13 6 2010
Exwfylla 13 6 2010 Exwfylla 13 6 2010
Exwfylla 13 6 2010
ireportergr
 
Exwfylla 23 12 2009
Exwfylla 23 12 2009Exwfylla 23 12 2009
Exwfylla 23 12 2009
ireportergr
 

Viewers also liked (16)

Lab Garage Presentation Rus[1]
Lab Garage Presentation Rus[1]Lab Garage Presentation Rus[1]
Lab Garage Presentation Rus[1]
 
2010全国巡演报道
2010全国巡演报道2010全国巡演报道
2010全国巡演报道
 
Av芭比相册
Av芭比相册Av芭比相册
Av芭比相册
 
Processo di selezione del personale, Casi Microsoft e Ikea a Confronto
Processo di selezione del personale, Casi Microsoft e Ikea a ConfrontoProcesso di selezione del personale, Casi Microsoft e Ikea a Confronto
Processo di selezione del personale, Casi Microsoft e Ikea a Confronto
 
LBi_IAB social media event_080710
LBi_IAB social media event_080710LBi_IAB social media event_080710
LBi_IAB social media event_080710
 
The evolution of the BT strategy
The evolution of  the BT strategyThe evolution of  the BT strategy
The evolution of the BT strategy
 
Sfh 0412
Sfh 0412Sfh 0412
Sfh 0412
 
Exwfylla 13 6 2010
Exwfylla 13 6 2010 Exwfylla 13 6 2010
Exwfylla 13 6 2010
 
Web Best Practices Non Profits
Web Best Practices Non ProfitsWeb Best Practices Non Profits
Web Best Practices Non Profits
 
Network Values and Valuable Networks: Do we need SDN in a Twitter-LinkedIn world
Network Values and Valuable Networks: Do we need SDN in a Twitter-LinkedIn worldNetwork Values and Valuable Networks: Do we need SDN in a Twitter-LinkedIn world
Network Values and Valuable Networks: Do we need SDN in a Twitter-LinkedIn world
 
Exwfylla 23 12 2009
Exwfylla 23 12 2009Exwfylla 23 12 2009
Exwfylla 23 12 2009
 
Biosimilars Conference
Biosimilars ConferenceBiosimilars Conference
Biosimilars Conference
 
Adjectives
AdjectivesAdjectives
Adjectives
 
LitORS Presentation. Joining EURO
LitORS Presentation. Joining EUROLitORS Presentation. Joining EURO
LitORS Presentation. Joining EURO
 
Neural Networks with Anticipation: Problems and Prospects
Neural Networks with Anticipation: Problems and ProspectsNeural Networks with Anticipation: Problems and Prospects
Neural Networks with Anticipation: Problems and Prospects
 
What Your CEO Should Really Know About Mobile.
What Your CEO Should Really Know About Mobile.What Your CEO Should Really Know About Mobile.
What Your CEO Should Really Know About Mobile.
 

Similar to London Ruby User Group - Application Example based on Gov.uk public code

Bhaskara_OTM Techno-functional Consultant
Bhaskara_OTM Techno-functional ConsultantBhaskara_OTM Techno-functional Consultant
Bhaskara_OTM Techno-functional Consultant
Bhaskara Rao Guntuku
 
Quill slides-www2013
Quill slides-www2013Quill slides-www2013
Quill slides-www2013
Vivian Motti
 

Similar to London Ruby User Group - Application Example based on Gov.uk public code (20)

Billgren - Product Summit Speed Layers v12.pdf
Billgren - Product Summit Speed Layers v12.pdfBillgren - Product Summit Speed Layers v12.pdf
Billgren - Product Summit Speed Layers v12.pdf
 
Agile Development with Agile Contract
Agile Development with Agile ContractAgile Development with Agile Contract
Agile Development with Agile Contract
 
Smoothing the continuous delivery path a tale of two architectures - expert...
Smoothing the continuous delivery path   a tale of two architectures - expert...Smoothing the continuous delivery path   a tale of two architectures - expert...
Smoothing the continuous delivery path a tale of two architectures - expert...
 
Sitecore Experience & SUGCON 2019
Sitecore Experience & SUGCON 2019Sitecore Experience & SUGCON 2019
Sitecore Experience & SUGCON 2019
 
Superfast Business - The future of business presentation
Superfast Business - The future of business presentationSuperfast Business - The future of business presentation
Superfast Business - The future of business presentation
 
Automated budget management system
Automated budget management systemAutomated budget management system
Automated budget management system
 
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStoreDeveloping Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
 
Meetup bangalore-may22nd2021
Meetup bangalore-may22nd2021Meetup bangalore-may22nd2021
Meetup bangalore-may22nd2021
 
Supply Chain Optimization of Hyperlocal Delivery Startups
Supply Chain Optimization of Hyperlocal Delivery StartupsSupply Chain Optimization of Hyperlocal Delivery Startups
Supply Chain Optimization of Hyperlocal Delivery Startups
 
Bhaskara_OTM Techno-functional Consultant
Bhaskara_OTM Techno-functional ConsultantBhaskara_OTM Techno-functional Consultant
Bhaskara_OTM Techno-functional Consultant
 
Preparing_for_PCA_Workbook.pptx
Preparing_for_PCA_Workbook.pptxPreparing_for_PCA_Workbook.pptx
Preparing_for_PCA_Workbook.pptx
 
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdfTomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
 
GNS: Your IT outsourcing provider
GNS: Your IT outsourcing providerGNS: Your IT outsourcing provider
GNS: Your IT outsourcing provider
 
Cloudstack collaboration - customer focus
Cloudstack collaboration - customer focusCloudstack collaboration - customer focus
Cloudstack collaboration - customer focus
 
Quill slides-www2013
Quill slides-www2013Quill slides-www2013
Quill slides-www2013
 
Quill slides-www2013
Quill slides-www2013Quill slides-www2013
Quill slides-www2013
 
Banking Proposal Bidding and response to RFP Presentation
Banking Proposal Bidding and response to RFP PresentationBanking Proposal Bidding and response to RFP Presentation
Banking Proposal Bidding and response to RFP Presentation
 
Aloop sow v1.5
Aloop sow v1.5Aloop sow v1.5
Aloop sow v1.5
 
IRJET- Tour and Travels
IRJET- Tour and TravelsIRJET- Tour and Travels
IRJET- Tour and Travels
 
Analyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web FrameworksAnalyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web Frameworks
 

Recently uploaded

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 

London Ruby User Group - Application Example based on Gov.uk public code