SlideShare a Scribd company logo
SumUp – A better way to get paid.
SumCLI
Toolbelt for developers
SumUp – A better way to get paid.
Rodrigo (Dylon) Lucas Mari Ana Trombeta Danilo Lima
Team
SumUp – A better way to get paid.
Many thanks to:
Dan Rasmussen
Daniel Hillman
SumUp – A better way to get paid.
Problems we want to solve
SumUp – A better way to get paid.
“I have this idea and need to
create a component, but I don't
know where to start”
Daniel Klein, CEO of Sumup
SumUp – A better way to get paid.
“How do I implement RabbitMQ in
Ruby?”
Daniel Klein, CEO of Sumup
SumUp – A better way to get paid.
“I've heard about this Theseus, I
want to get in”
Daniel Klein, CEO of Sumup
SumUp – A better way to get paid.
“I'd like to validate my code before
I push to GitHub”
Daniel Klein, CEO of Sumup
SumUp – A better way to get paid.
SumCLI
Saves up time
generating repeated
code
Installs new services Manage infrastructure in
local development
1 2 3
SumUp – A better way to get paid.
What we created
SumUp – A better way to get paid.SumUp – A better way to get paid.SumUp – A better way to get paid.
SumUp – A better way to get paid.SumUp – A better way to get paid.SumUp – A better way to get paid.
SumUp – A better way to get paid.
sumcli new myapp
Creates a new project ready to
serve HTTP requests
SumUp – A better way to get paid.
sumcli new myapp
Creates a new project ready to
serve HTTP requests
SumUp – A better way to get paid.
sumcli new myapp
Creates a new project ready to
serve HTTP requests
SumUp – A better way to get paid.
sumcli new myapp
Creates a new project ready to
serve HTTP requests
SumUp – A better way to get paid.
sumcli new myapp
Creates a new project ready to
serve HTTP requests
SumUp – A better way to get paid.
sumcli start
Start serving requests
SumUp – A better way to get paid.
sumcli start
Start serving requests
SumUp – A better way to get paid.
sumcli add
Create a new class or injects
block of code
SumUp – A better way to get paid.
sumcli add
Create a new class or injects
block of code
SumUp – A better way to get paid.
sumcli add endpoint
Create a new class or injects
block of code
SumUp – A better way to get paid.
sumcli add endpoint
Create a new class or injects
block of code
SumUp – A better way to get paid.
sumcli add endpoint
Create a new class or injects
block of code
SumUp – A better way to get paid.
sumcli add endpoint
hackathon get ':id'
Create a new class or injects
block of code
SumUp – A better way to get paid.
sumcli add endpoint
hackathon post 'new'
Create a new class or injects
block of code
SumUp – A better way to get paid.
sumcli add endpoint
hackathon post 'new'
Create a new class or injects
block of code
SumUp – A better way to get paid.
sumcli add endpoint
Create a new class or injects
block of code
SumUp – A better way to get paid.
sumcli add endpoint
Create a new class or injects
block of code
SumUp – A better way to get paid.
sumcli add service
rabbitmq
Installs infrastructure
components and their initializers
SumUp – A better way to get paid.
sumcli add service
rabbitmq
Installs infrastructure
components and their initializers
SumUp – A better way to get paid.
sumcli add service
rabbitmq
Installs infrastructure
components and their initializers
SumUp – A better way to get paid.
sumcli add service
rabbitmq
Installs infrastructure
components and their initializers
SumUp – A better way to get paid.
sumcli add service
rabbitmq
Installs infrastructure
components and their initializers
SumUp – A better way to get paid.
sumcli add service
rabbitmq
Installs infrastructure
components and their initializers
SumUp – A better way to get paid.
sumcli add service
rabbitmq
Installs infrastructure
components and their initializers
SumUp – A better way to get paid.
sumcli add service
postgres
Installs infrastructure
components and their initializers
SumUp – A better way to get paid.
sumcli add service
postgres
Installs infrastructure
components and their initializers
SumUp – A better way to get paid.
sumcli add migration
Creates new migration for
database
SumUp – A better way to get paid.
sumcli add migration
Creates new migration for
database
SumUp – A better way to get paid.
Next steps
SumUp – A better way to get paid.
01 02 03
Add integration tests support
so QAs can use it as well
sumcli add cucumber
my_integration_test
Handle a stack other than
ruby
sumcli use nodejs
sumcli use elixir
Add as many services as
possible
sumcli add service sidekiq
sumcli add service sentry
sumcli add service redis
sumcli add service audit
SumUp – A better way to get paid.
01 02 03
Handle a stack other than
ruby
sumcli use nodejs
sumcli use elixir
Add as many services as
possible
sumcli add service sidekiq
sumcli add service sentry
sumcli add service redis
sumcli add service audit
Add integration tests support
so QAs can use it as well
sumcli add cucumber
my_integration_test
SumUp – A better way to get paid.
01 02 03
Add integration tests support
so QAs can use it as well
sumcli add cucumber
my_integration_test
Handle a stack other than
ruby
sumcli use nodejs
sumcli use elixir
Add as many services as
possible
sumcli add service sidekiq
sumcli add service sentry
sumcli add service redis
sumcli add service audit
sumcli add service kafka
SumUp – A better way to get paid.SumUp – A better way to get paid.SumUp – A better way to get paid.
DALE!

More Related Content

Similar to SumCLI - Best practices code generator for several languages

Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)
Yan Cui
 
Building resilient frontend architecture by Monica Lent at FrontCon 2019
Building resilient frontend architecture by Monica Lent at FrontCon 2019Building resilient frontend architecture by Monica Lent at FrontCon 2019
Building resilient frontend architecture by Monica Lent at FrontCon 2019
DevClub_lv
 
Quest for the Perfect Workflow for McrFRED
Quest for the Perfect Workflow for McrFREDQuest for the Perfect Workflow for McrFRED
Quest for the Perfect Workflow for McrFRED
Andi Smith
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)
Yan Cui
 
Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)
Yan Cui
 
Automating Google Lighthouse
Automating Google LighthouseAutomating Google Lighthouse
Automating Google Lighthouse
Hamlet Batista
 
Code Dojo for Product Owners
Code Dojo for Product OwnersCode Dojo for Product Owners
Code Dojo for Product Owners
Tomasz Wykowski, CST
 
ServerTemplate Deep Dive
ServerTemplate Deep DiveServerTemplate Deep Dive
ServerTemplate Deep Dive
RightScale
 
Serverless in production, an experience report (JeffConf)
Serverless in production, an experience report (JeffConf)Serverless in production, an experience report (JeffConf)
Serverless in production, an experience report (JeffConf)
Yan Cui
 
MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...
MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...
MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...
Jitendra Bafna
 
Grygoriy gavaleshko cross-framework communication on frontent
Grygoriy gavaleshko   cross-framework communication on frontentGrygoriy gavaleshko   cross-framework communication on frontent
Grygoriy gavaleshko cross-framework communication on frontent
Aneta Kołosowska (Wiśniewska)
 
Serverless in production, an experience report (IWOMM)
Serverless in production, an experience report (IWOMM)Serverless in production, an experience report (IWOMM)
Serverless in production, an experience report (IWOMM)
Yan Cui
 
Serverless in production, an experience report (Going Serverless)
Serverless in production, an experience report (Going Serverless)Serverless in production, an experience report (Going Serverless)
Serverless in production, an experience report (Going Serverless)
Yan Cui
 
OSMC 2019 | Directing the Director by Martin Schurz
OSMC 2019 | Directing the Director by Martin SchurzOSMC 2019 | Directing the Director by Martin Schurz
OSMC 2019 | Directing the Director by Martin Schurz
NETWAYS
 
On the importance of done
On the importance of doneOn the importance of done
On the importance of done
Rob Purdie
 
Refactoring a web application with Python
Refactoring a web application with PythonRefactoring a web application with Python
Refactoring a web application with Python
Cristian Gonzalez Sanchez
 
Commonly used design patterns
Commonly used design patternsCommonly used design patterns
Commonly used design patterns
Mojammel Haque
 
How To Build Efficient ML Pipelines From The Startup Perspective (GTC Silicon...
How To Build Efficient ML Pipelines From The Startup Perspective (GTC Silicon...How To Build Efficient ML Pipelines From The Startup Perspective (GTC Silicon...
How To Build Efficient ML Pipelines From The Startup Perspective (GTC Silicon...
Jaeman An
 
Ember addons, served three ways
Ember addons, served three waysEmber addons, served three ways
Ember addons, served three ways
Mike North
 
I am-one-with-angular
I am-one-with-angularI am-one-with-angular
I am-one-with-angular
John Papa
 

Similar to SumCLI - Best practices code generator for several languages (20)

Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)
 
Building resilient frontend architecture by Monica Lent at FrontCon 2019
Building resilient frontend architecture by Monica Lent at FrontCon 2019Building resilient frontend architecture by Monica Lent at FrontCon 2019
Building resilient frontend architecture by Monica Lent at FrontCon 2019
 
Quest for the Perfect Workflow for McrFRED
Quest for the Perfect Workflow for McrFREDQuest for the Perfect Workflow for McrFRED
Quest for the Perfect Workflow for McrFRED
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)
 
Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)
 
Automating Google Lighthouse
Automating Google LighthouseAutomating Google Lighthouse
Automating Google Lighthouse
 
Code Dojo for Product Owners
Code Dojo for Product OwnersCode Dojo for Product Owners
Code Dojo for Product Owners
 
ServerTemplate Deep Dive
ServerTemplate Deep DiveServerTemplate Deep Dive
ServerTemplate Deep Dive
 
Serverless in production, an experience report (JeffConf)
Serverless in production, an experience report (JeffConf)Serverless in production, an experience report (JeffConf)
Serverless in production, an experience report (JeffConf)
 
MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...
MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...
MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...
 
Grygoriy gavaleshko cross-framework communication on frontent
Grygoriy gavaleshko   cross-framework communication on frontentGrygoriy gavaleshko   cross-framework communication on frontent
Grygoriy gavaleshko cross-framework communication on frontent
 
Serverless in production, an experience report (IWOMM)
Serverless in production, an experience report (IWOMM)Serverless in production, an experience report (IWOMM)
Serverless in production, an experience report (IWOMM)
 
Serverless in production, an experience report (Going Serverless)
Serverless in production, an experience report (Going Serverless)Serverless in production, an experience report (Going Serverless)
Serverless in production, an experience report (Going Serverless)
 
OSMC 2019 | Directing the Director by Martin Schurz
OSMC 2019 | Directing the Director by Martin SchurzOSMC 2019 | Directing the Director by Martin Schurz
OSMC 2019 | Directing the Director by Martin Schurz
 
On the importance of done
On the importance of doneOn the importance of done
On the importance of done
 
Refactoring a web application with Python
Refactoring a web application with PythonRefactoring a web application with Python
Refactoring a web application with Python
 
Commonly used design patterns
Commonly used design patternsCommonly used design patterns
Commonly used design patterns
 
How To Build Efficient ML Pipelines From The Startup Perspective (GTC Silicon...
How To Build Efficient ML Pipelines From The Startup Perspective (GTC Silicon...How To Build Efficient ML Pipelines From The Startup Perspective (GTC Silicon...
How To Build Efficient ML Pipelines From The Startup Perspective (GTC Silicon...
 
Ember addons, served three ways
Ember addons, served three waysEmber addons, served three ways
Ember addons, served three ways
 
I am-one-with-angular
I am-one-with-angularI am-one-with-angular
I am-one-with-angular
 

Recently uploaded

E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

SumCLI - Best practices code generator for several languages

  • 1. SumUp – A better way to get paid. SumCLI Toolbelt for developers
  • 2. SumUp – A better way to get paid. Rodrigo (Dylon) Lucas Mari Ana Trombeta Danilo Lima Team
  • 3. SumUp – A better way to get paid. Many thanks to: Dan Rasmussen Daniel Hillman
  • 4. SumUp – A better way to get paid. Problems we want to solve
  • 5. SumUp – A better way to get paid. “I have this idea and need to create a component, but I don't know where to start” Daniel Klein, CEO of Sumup
  • 6. SumUp – A better way to get paid. “How do I implement RabbitMQ in Ruby?” Daniel Klein, CEO of Sumup
  • 7. SumUp – A better way to get paid. “I've heard about this Theseus, I want to get in” Daniel Klein, CEO of Sumup
  • 8. SumUp – A better way to get paid. “I'd like to validate my code before I push to GitHub” Daniel Klein, CEO of Sumup
  • 9. SumUp – A better way to get paid. SumCLI Saves up time generating repeated code Installs new services Manage infrastructure in local development 1 2 3
  • 10. SumUp – A better way to get paid. What we created
  • 11. SumUp – A better way to get paid.SumUp – A better way to get paid.SumUp – A better way to get paid.
  • 12. SumUp – A better way to get paid.SumUp – A better way to get paid.SumUp – A better way to get paid.
  • 13. SumUp – A better way to get paid. sumcli new myapp Creates a new project ready to serve HTTP requests
  • 14. SumUp – A better way to get paid. sumcli new myapp Creates a new project ready to serve HTTP requests
  • 15. SumUp – A better way to get paid. sumcli new myapp Creates a new project ready to serve HTTP requests
  • 16. SumUp – A better way to get paid. sumcli new myapp Creates a new project ready to serve HTTP requests
  • 17. SumUp – A better way to get paid. sumcli new myapp Creates a new project ready to serve HTTP requests
  • 18. SumUp – A better way to get paid. sumcli start Start serving requests
  • 19. SumUp – A better way to get paid. sumcli start Start serving requests
  • 20. SumUp – A better way to get paid. sumcli add Create a new class or injects block of code
  • 21. SumUp – A better way to get paid. sumcli add Create a new class or injects block of code
  • 22. SumUp – A better way to get paid. sumcli add endpoint Create a new class or injects block of code
  • 23. SumUp – A better way to get paid. sumcli add endpoint Create a new class or injects block of code
  • 24. SumUp – A better way to get paid. sumcli add endpoint Create a new class or injects block of code
  • 25. SumUp – A better way to get paid. sumcli add endpoint hackathon get ':id' Create a new class or injects block of code
  • 26. SumUp – A better way to get paid. sumcli add endpoint hackathon post 'new' Create a new class or injects block of code
  • 27. SumUp – A better way to get paid. sumcli add endpoint hackathon post 'new' Create a new class or injects block of code
  • 28. SumUp – A better way to get paid. sumcli add endpoint Create a new class or injects block of code
  • 29. SumUp – A better way to get paid. sumcli add endpoint Create a new class or injects block of code
  • 30. SumUp – A better way to get paid. sumcli add service rabbitmq Installs infrastructure components and their initializers
  • 31. SumUp – A better way to get paid. sumcli add service rabbitmq Installs infrastructure components and their initializers
  • 32. SumUp – A better way to get paid. sumcli add service rabbitmq Installs infrastructure components and their initializers
  • 33. SumUp – A better way to get paid. sumcli add service rabbitmq Installs infrastructure components and their initializers
  • 34. SumUp – A better way to get paid. sumcli add service rabbitmq Installs infrastructure components and their initializers
  • 35. SumUp – A better way to get paid. sumcli add service rabbitmq Installs infrastructure components and their initializers
  • 36. SumUp – A better way to get paid. sumcli add service rabbitmq Installs infrastructure components and their initializers
  • 37. SumUp – A better way to get paid. sumcli add service postgres Installs infrastructure components and their initializers
  • 38. SumUp – A better way to get paid. sumcli add service postgres Installs infrastructure components and their initializers
  • 39. SumUp – A better way to get paid. sumcli add migration Creates new migration for database
  • 40. SumUp – A better way to get paid. sumcli add migration Creates new migration for database
  • 41. SumUp – A better way to get paid. Next steps
  • 42. SumUp – A better way to get paid. 01 02 03 Add integration tests support so QAs can use it as well sumcli add cucumber my_integration_test Handle a stack other than ruby sumcli use nodejs sumcli use elixir Add as many services as possible sumcli add service sidekiq sumcli add service sentry sumcli add service redis sumcli add service audit
  • 43. SumUp – A better way to get paid. 01 02 03 Handle a stack other than ruby sumcli use nodejs sumcli use elixir Add as many services as possible sumcli add service sidekiq sumcli add service sentry sumcli add service redis sumcli add service audit Add integration tests support so QAs can use it as well sumcli add cucumber my_integration_test
  • 44. SumUp – A better way to get paid. 01 02 03 Add integration tests support so QAs can use it as well sumcli add cucumber my_integration_test Handle a stack other than ruby sumcli use nodejs sumcli use elixir Add as many services as possible sumcli add service sidekiq sumcli add service sentry sumcli add service redis sumcli add service audit sumcli add service kafka
  • 45. SumUp – A better way to get paid.SumUp – A better way to get paid.SumUp – A better way to get paid. DALE!