Before you start modeling your application front-end you will want to think about how to split the application in different use-cases. Each use-case should define a unique set of processing logic operations that are specific to your application. Typical use-cases are: 'Login', 'Place order', 'Add new user'. No two use-cases should have the same name.
For the sake of simplicity our application will consist of only a single use-case. Adding other use-cases is very straightforward and should not present any problems.
Let's call our use-case Purchase Items. As you can see it is not a problem to have spaces in the name. We will put it in a suitable package, and label it with the <<FrontEndUseCase>> stereotype.
It is mandatory to inform the cartridge which use-cases will be considered to be the application's entry point, this use-case must be labeled with the <<FrontEndApplication>> stereotype. One and only one use-case must be labeled this way.
Use-cases split up the application in distinct parts, the generated code will reflect this by emitting files related to a specific use-case in a single package.
The next step is to specify in detail how our application's presentation layer is going to behave, this is done by means of an activity graph