CHIPS 3.7 Wordguess: a scaffolded (!) ESaaS getting-started assignment using Sinatra
Ruby
35
9 commits
updated Sep 11, 2026
(v1.1, September 2015. Written by Armando Fox and Nick Herson) (some edits by mverdicchio 21 September 2015) (refinements by Armando Fox September 2017)
In this assignment you'll be introduced to part of the basic cycle of creating SaaS in a disciplined way.
NOTE: Do not clone this repo to your workspace. Fork it first, then clone your fork.
After completing this assignment, you will be able to:
NOTE: You may find the Sinatra documentation helpful to have on hand.
The full Agile/XP cycle we follow in ESaaS includes talking to the customer, using BDD to develop scenarios, turning those scenarios into runnable integration/acceptance tests with Cucumber, using those scenarios plus TDD to drive the creation of actual code, and deploying the result of each iteration's work to the cloud.
In this introductory assignment, we've provided RSpec unit tests to let you use TDD to develop game logic for a word-guessing game. In the full Agile/XP cycle, you'd develop these tests yourself as you code.
You'll then use the Sinatra framework to make the Wordguesser game available as SaaS. Adapting the game logic for SaaS will introduce you to thinking about RESTful routes and service-oriented architecture. As you develop the "SaaS-ified" Wordguessing game, you'll use Cucumber to describe how gameplay will work from the player's point of view and as "full stack" integration tests that will drive SaaS development. In the full Agile/XP cycle, you'd develop Cucumber scenarios yourself based on consultation with the customer, and create the necessary step definitions (Cucumber code that turns plain-English scenarios into runnable tests). In this assignment we provide both the scenarios and step definitions for you.
You'll deploy your game to the cloud using Render, giving you experience in automating SaaS deployment.
Why Sinatra?
This assignment uses the simple Sinatra framework rather than Rails, so that you can focus on tools, mechanics, and SaaS concepts, all of which will readily map to Rails later. Since our app doesn't have a database and has very few functions, Sinatra is an easy way to get started.
8 commits
1 commits
Ruby
58.8%
Gherkin
18.8%
HTML
9.7%
Shell
7.8%
Dockerfile
4.8%
CHIPS 3.7 Wordguess: a scaffolded (!) ESaaS getting-started assignment using Sinatra
Ruby
35
9 commits
updated Sep 11, 2026
(v1.1, September 2015. Written by Armando Fox and Nick Herson) (some edits by mverdicchio 21 September 2015) (refinements by Armando Fox September 2017)
In this assignment you'll be introduced to part of the basic cycle of creating SaaS in a disciplined way.
NOTE: Do not clone this repo to your workspace. Fork it first, then clone your fork.
After completing this assignment, you will be able to:
NOTE: You may find the Sinatra documentation helpful to have on hand.
The full Agile/XP cycle we follow in ESaaS includes talking to the customer, using BDD to develop scenarios, turning those scenarios into runnable integration/acceptance tests with Cucumber, using those scenarios plus TDD to drive the creation of actual code, and deploying the result of each iteration's work to the cloud.
In this introductory assignment, we've provided RSpec unit tests to let you use TDD to develop game logic for a word-guessing game. In the full Agile/XP cycle, you'd develop these tests yourself as you code.
You'll then use the Sinatra framework to make the Wordguesser game available as SaaS. Adapting the game logic for SaaS will introduce you to thinking about RESTful routes and service-oriented architecture. As you develop the "SaaS-ified" Wordguessing game, you'll use Cucumber to describe how gameplay will work from the player's point of view and as "full stack" integration tests that will drive SaaS development. In the full Agile/XP cycle, you'd develop Cucumber scenarios yourself based on consultation with the customer, and create the necessary step definitions (Cucumber code that turns plain-English scenarios into runnable tests). In this assignment we provide both the scenarios and step definitions for you.
You'll deploy your game to the cloud using Render, giving you experience in automating SaaS deployment.
Why Sinatra?
This assignment uses the simple Sinatra framework rather than Rails, so that you can focus on tools, mechanics, and SaaS concepts, all of which will readily map to Rails later. Since our app doesn't have a database and has very few functions, Sinatra is an easy way to get started.
8 commits
1 commits
Ruby
58.8%
Gherkin
18.8%
HTML
9.7%
Shell
7.8%
Dockerfile
4.8%