Spring shell for everyone

By Ihor Banadiga

Elevator Pitch

I will talk about how we can create a powerful shell application with spring boot. With what problems we may meet during development and why other speakers are silent about these problems as well as how to solve them.

Description

For beginners who did not work with spring shell: We will create shell application from the scratch using spring shell with spring boot and use Kotlin as a programming language.

For those who have at least some experience: I’ll talk about the problems most often encountered by developers. And how to solve them.

Others, who have a strong understanding of Spring Shell: I will tell about non-standard problems and their solutions. Of course, I will mention other alternatives and do some comparison.

As a result of the talk, we will know how shell application can be created on JVM language. And you will know the most faced problems and solutions for fixing them.

Notes

The main accent in this session I’m going to do on the live coding.

Plan of talk:

  • About me
  • Why do we need shell application (~5min)
  • Introduction to the problem. (~5 min). We will create a console application to manipulate login/logout, CRUD operation and search/autocomplete.
  • Coding session part #1 for implement shell application auth + CRUD operations (~30 min)
    • Create a new app with start.spring.io and Kotlin
    • Create a new command
    • Add configuration of help and command
    • Create not available command
    • Create a table view
    • Add autocomplete
    • etc
  • Pros and cons of this spring shell application (~10 min)
    • Problems with the execution of the customer environment
    • Can not be run in docker
    • Problem with configuration
    • Can not connect to terminal thru ssh
    • etc
  • Coding session part #2 Spring Boot Ssh Shell (~30 min)
    • How to add ssh
    • a quick overview of the base function of Spring Ssh Shell…
  • Testing unit and integration (~5-7 min)
  • Question

Presentation https://www.slideshare.net/IhorBanadiga/spring-shell-for-everyone-177079847/ and code https://github.com/banadiga/shell-application

Note: time is approximate and can be updated after review.