refactor(project): add viewmodels for models

each model may have different views (with different client options)
like list with different filters or sorting (etc.)