SHOWCASE
In this section you can find descriptions of several example projects from practice. They demonstrate the variety of possible applications realised with the help of ModuleStudio. It ranges from fun and experimental projects to research and business applications. There is also a playground available at our demo site.
ScheduleManager
A schedule manager which can be used for different applications was started by us with the ScheduleManager module. It is attached as a display hook to an object, which could be a news article, a Pagesetter publication, or, its original intended use, an event in the CampManager. For the hooked object it is becomes possible to create and plan program schedules.
A program comprises several days, where each day starts at a certain time and may define a main topic as that day's focus or theme. For each program, one can further define whether program suggestions are allowed, with the „allowSuggestions“ field. If not set, the program manager must create suggestions for himself. The „topicType“ field determines the type for the entry, such as: lecture, workshop or break. If „allowSuggestions“ is true on the other hand, users can submit their own suggestions (agendaItems). In that case, „topicType“ is always set to lecture.
As one can see in the picture, users only have to define the lecture title, the lecturer's name, a suggested duration, and a description when creating new suggestions. The „timeInMinutesPlanned“ field is initialised with 0. The… >read more
CocktailManager
Who has not run into this problem: you want to mix a drink, and the exact ingredients required are not available in the house. The solution is obvious: wouldn't it be nice to have a cocktail menu that always corresponds to the actual stock on hand? Problem defined... solution modeled!
The CocktailManager allows one to store cocktail recipes and the different ingredients each needs. As with any recipe, the required amount of each ingredient that goes into a particular cocktail will be stored. Each user can then define how much of which ingredients he has on hand at the moment. In addition, a user can input the minimum amounts needed for normal usage, and the minimum amounts needed for parties. This makes it possible for the CocktailManager to, for example, make tequila recipes available only after there are at least two bottles available.
The module creates four dynamic reports: two cocktail menu cards, complete with recipes, but limited to those cocktails for which all ingredients are in stock (one card for normal use and the other for parties), a bartender's cheat sheet for reviewing all of the recipes, and a shopping list containing everything not in stock at the moment.
Since modeling the basic module took, essentially,… >read more
RecipeManager
With ModuleStudio, we have already implemented a basic recipe database. Rather than displaying recipes as simple text documents, the application allows the user to perform more complex activities. In addition to categorising recipes, it is also possible to create optimised instructions for preparing more than one course within a defined menu at the same time. Let's take a closer look at the structure.
An ingredient has a name, a description, as well as a category. Furthermore, it can support multiple units, for example: pinch, gram and kilogram. A recipe is preconfigured for a certain number of servings, and also assigned to any number of categories. A recipe, further, has multiple ingredients (recipeIngredient) each specifying a certain required amount, and multiple preparation steps (recipeStep).
A preparation step can refer to several ingredients (recipeStepIngredient), these representing a subset of the available recipeIngredients. Also here, amount and unit are specified. A step requires a certain duration in minutes, and can be an active step (for instance „whip egg whites until stiff peaks form“), or passive (for example „let cake cool off“).
Another feature available when displaying recipes is a slider for… >read more
