SlideShare a Scribd company logo
1 of 28
Download to read offline
play framework
anatomy of a play project
• Master student of Information
Systems and Computer @ IST
!
• 2 years of experience developing in
Scala
!
• Currently doing awesome stuff @
Codacy
Who am I?
Rodrigo Fernandes
@rtfpessoa
SBT
Scala (Simple) Build Tool
SBT
• Play Framework seamlessly integrated with SBT
• Play Framework is an SBT plugin (since v2.3.x)
How to integrate?
SBT
• build.sbt — define the project
and sub-projects relation and
configuration!
• project — root project plugins
and extra definitions!
• plugins.sbt
• [Common.scala]
• [Dependencies.scala]
How to configure?
SBT build.sbt
SBT
plugins.sbt
SBT
Common.scala
SBT
Dependencies.scala
Play Framework
application setup
Routes
Default routes and asset optimisations
Multi Layer Application
rules
services
controllers
models components/database
(Slick)
components/rules
components/services
framework
root application
Multi Layer Application
rules
services
controllers
models
Native UI (C#) API (REST)
HTML
Service Level Permissions
services.account.AccountServices
Response
Forms
Frontend
Forms
Backend
Controller Authentication
Database
Slick — Scala Language Integrated Connection Kit
Features
•fully type-checked
•no SQL-injections
•no typos
•code completion
•can still crash in runtime :’(
Example Table
Base Table
Security
Security
SecureString
Questions?
Thank you
For more info check out:!
https://github.com/codacy/codacy-playframework-seed
https://www.playframework.com/documentation/2.3.x/Home
http://www.scala-sbt.org/0.13/tutorial/index.html
@codacy @rtfpessoa
Play Framework (anatomy of a play application) @ Codacy

More Related Content

Viewers also liked

Web 2.0 and the world of global collaboration v2010
Web 2.0 and the world of global collaboration v2010Web 2.0 and the world of global collaboration v2010
Web 2.0 and the world of global collaboration v2010GroveSite
 
When Everyone Talks At Once, But Leaders Still Know What To Do
When Everyone Talks At Once, But Leaders Still Know What To DoWhen Everyone Talks At Once, But Leaders Still Know What To Do
When Everyone Talks At Once, But Leaders Still Know What To Do9Lenses
 
Going Mobile in the Retail Environment
Going Mobile in the Retail EnvironmentGoing Mobile in the Retail Environment
Going Mobile in the Retail EnvironmentInfogain
 
8 LOS Features Credit Unions Need to Stay Competitive
8 LOS Features Credit Unions Need to Stay Competitive  8 LOS Features Credit Unions Need to Stay Competitive
8 LOS Features Credit Unions Need to Stay Competitive Doxim Inc.
 
What Lies Ahead
What Lies AheadWhat Lies Ahead
What Lies AheadMoboom
 
SoulCRM Brochure
SoulCRM BrochureSoulCRM Brochure
SoulCRM BrochureSoulCRM
 
知识到底是什麽?
知识到底是什麽? 知识到底是什麽?
知识到底是什麽? BroadVision
 
Maximize Computer Security With Limited Ressources
Maximize Computer Security With Limited RessourcesMaximize Computer Security With Limited Ressources
Maximize Computer Security With Limited RessourcesSecunia
 
Evolution in memory games
Evolution in memory gamesEvolution in memory games
Evolution in memory gamesDEVART
 
Don’t Hide Your Content in a Traditional Help System: A Case Study from TechP...
Don’t Hide Your Content in a Traditional Help System: A Case Study from TechP...Don’t Hide Your Content in a Traditional Help System: A Case Study from TechP...
Don’t Hide Your Content in a Traditional Help System: A Case Study from TechP...Sarah Silveri, RSI Content Solutions
 

Viewers also liked (18)

Taming the video monster
Taming the video monsterTaming the video monster
Taming the video monster
 
первая
перваяпервая
первая
 
Web 2.0 and the world of global collaboration v2010
Web 2.0 and the world of global collaboration v2010Web 2.0 and the world of global collaboration v2010
Web 2.0 and the world of global collaboration v2010
 
When Everyone Talks At Once, But Leaders Still Know What To Do
When Everyone Talks At Once, But Leaders Still Know What To DoWhen Everyone Talks At Once, But Leaders Still Know What To Do
When Everyone Talks At Once, But Leaders Still Know What To Do
 
Presenting John Loder
Presenting John LoderPresenting John Loder
Presenting John Loder
 
Going Mobile in the Retail Environment
Going Mobile in the Retail EnvironmentGoing Mobile in the Retail Environment
Going Mobile in the Retail Environment
 
How to Hire a PR Firm
How to Hire a PR FirmHow to Hire a PR Firm
How to Hire a PR Firm
 
The Benefits of FileMaker Pro
The Benefits of FileMaker ProThe Benefits of FileMaker Pro
The Benefits of FileMaker Pro
 
8 LOS Features Credit Unions Need to Stay Competitive
8 LOS Features Credit Unions Need to Stay Competitive  8 LOS Features Credit Unions Need to Stay Competitive
8 LOS Features Credit Unions Need to Stay Competitive
 
CRM on Demand India ,
CRM on Demand India , CRM on Demand India ,
CRM on Demand India ,
 
What Lies Ahead
What Lies AheadWhat Lies Ahead
What Lies Ahead
 
Impel elemech-company
Impel elemech-companyImpel elemech-company
Impel elemech-company
 
SoulCRM Brochure
SoulCRM BrochureSoulCRM Brochure
SoulCRM Brochure
 
知识到底是什麽?
知识到底是什麽? 知识到底是什麽?
知识到底是什麽?
 
Maximize Computer Security With Limited Ressources
Maximize Computer Security With Limited RessourcesMaximize Computer Security With Limited Ressources
Maximize Computer Security With Limited Ressources
 
Evolution in memory games
Evolution in memory gamesEvolution in memory games
Evolution in memory games
 
Don’t Hide Your Content in a Traditional Help System: A Case Study from TechP...
Don’t Hide Your Content in a Traditional Help System: A Case Study from TechP...Don’t Hide Your Content in a Traditional Help System: A Case Study from TechP...
Don’t Hide Your Content in a Traditional Help System: A Case Study from TechP...
 
Step Up Business Intelligence
Step Up Business Intelligence Step Up Business Intelligence
Step Up Business Intelligence
 

Similar to Play Framework (anatomy of a play application) @ Codacy

(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application StrategiesBIOVIA
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Aspenware
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkSandeep Adwankar
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdecWojciech Dec
 
CTS2 Development Framework
CTS2 Development FrameworkCTS2 Development Framework
CTS2 Development Frameworkcts2framework
 
Scribe online 03 scribe online cdk and api overview
Scribe online 03   scribe online cdk and api overviewScribe online 03   scribe online cdk and api overview
Scribe online 03 scribe online cdk and api overviewScribe Software Corp.
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowVincent Biret
 
The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)Asanka Abeysinghe
 
Methodologies and flows for chip design
Methodologies and flows for chip designMethodologies and flows for chip design
Methodologies and flows for chip designDerek Pappas
 
Narender Soni Resume - Updated
Narender Soni Resume - UpdatedNarender Soni Resume - Updated
Narender Soni Resume - UpdatedNarender Soni
 
Rapid SQL Datasheet - The Intelligent IDE for SQL Development
Rapid SQL Datasheet - The Intelligent IDE for SQL DevelopmentRapid SQL Datasheet - The Intelligent IDE for SQL Development
Rapid SQL Datasheet - The Intelligent IDE for SQL DevelopmentEmbarcadero Technologies
 
SharePoint Saturday Louisville 2012
SharePoint Saturday Louisville 2012SharePoint Saturday Louisville 2012
SharePoint Saturday Louisville 2012Scott_Brickey
 
SharePoint Saturday Dayton 2012
SharePoint Saturday Dayton 2012SharePoint Saturday Dayton 2012
SharePoint Saturday Dayton 2012Scott_Brickey
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseNetSPI
 
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"Sergii Bielskyi "Azure Logic App and building modern cloud native apps"
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"Fwdays
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworksMukesh Kumar
 

Similar to Play Framework (anatomy of a play application) @ Codacy (20)

(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 
CTS2 Development Framework
CTS2 Development FrameworkCTS2 Development Framework
CTS2 Development Framework
 
Scribe online 03 scribe online cdk and api overview
Scribe online 03   scribe online cdk and api overviewScribe online 03   scribe online cdk and api overview
Scribe online 03 scribe online cdk and api overview
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flow
 
The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)
 
Yury Verameichyk-2015
Yury Verameichyk-2015Yury Verameichyk-2015
Yury Verameichyk-2015
 
Methodologies and flows for chip design
Methodologies and flows for chip designMethodologies and flows for chip design
Methodologies and flows for chip design
 
Narender Soni Resume - Updated
Narender Soni Resume - UpdatedNarender Soni Resume - Updated
Narender Soni Resume - Updated
 
Rapid SQL Datasheet - The Intelligent IDE for SQL Development
Rapid SQL Datasheet - The Intelligent IDE for SQL DevelopmentRapid SQL Datasheet - The Intelligent IDE for SQL Development
Rapid SQL Datasheet - The Intelligent IDE for SQL Development
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
SharePoint Saturday Louisville 2012
SharePoint Saturday Louisville 2012SharePoint Saturday Louisville 2012
SharePoint Saturday Louisville 2012
 
Resume-thilaga
Resume-thilagaResume-thilaga
Resume-thilaga
 
SharePoint Saturday Dayton 2012
SharePoint Saturday Dayton 2012SharePoint Saturday Dayton 2012
SharePoint Saturday Dayton 2012
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
 
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"Sergii Bielskyi "Azure Logic App and building modern cloud native apps"
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworks
 
Resume.H.Zhang
Resume.H.ZhangResume.H.Zhang
Resume.H.Zhang
 

Recently uploaded

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Play Framework (anatomy of a play application) @ Codacy