To understand how to write a Sinatra application, we will take up a small project and discuss every part in detail, in this and the following chapters.
We shall make a ToDo app and use Sinatra and a lot of other libraries. The features of the app will be as follows:
Each user can have multiple todo lists
Each todo list will have multiple items
Todo lists can be private, public, or shared with a group
Items in each todo list can be assigned to a user or group
The modules that we will build are as follows:
Before we start writing the code, let's see what the file structure will be like, understand why each one of them is required, and learn about some new files.