---
# System prepended metadata

title: Untitled

---

**Классификатор**

Все ниже ресурсы и возможности должны иметь версионный REST API 1.0.0 с документацией (CRUD)
Должны быть покрыты тестами RSPEC желательно.

Для представления вида Tree Views использовать индивидуальный show.html.erb для каждой модели.

Админка (Active_admin/Rails_admin) главное было удобно редактировать ресурсами...
Вот ссылка на пример - http://demo-classifier.herokuapp.com/admin/xclass (нажать на сортировку)
login: d.abeuov9@gmail.com
passw: Kazniisa@123

**Ресурсы(модель)**

Таблицы для (**admin, editor, moderator**) - 1) xcategories 2) xclasses 3) properties 4) activities.

1)Категория(xcategories)
has_many :xclasses

2)Классы(xclasses)
belongs_to :xcategory

has_many :properties
has_many :activities

3)Свойства(propeties)
belongs_to :xclass

4)Деятельность(activities)
belongs_to :xclass

#______________________________________________

Таблицы для (**guest, paid_user**) -  1) xcategories_user 2)xclasses_user 3)properties_user 4)activities_user.

1)Категория_пользователя(xcategories_user) 
has_many :xclasses_user

2)Классы_пользователя(xclasses_user) 
belongs_to :xcategory_user

has_many :propeties_user
has_many :activities_user

3)Свойства_пользователя(propeties_user) 
belongs_to :xclass_user

3)Техническое_обслуживание_пользователя(activities_user)
belongs_to :xclass_user


**Итого**

Программа содержит 5 роли: admin, editor, moderator, gust, paid_user

У каждого пользователя свои ресурсы и разные доступы.

admin - имеет доступ ко всему (CRUD).

editor - сотрудник компании, который наполняет древовидную структуру классификации(ISO) на моделях 1) xcategories 2) xclasses 3)properties 3)activities.

moderator - пользователь, который может контролировать ресурсы editora (CRUD), '+' дает разрешение на публикацию.

guest - Все пользователи по умолчанию гости и могут только смотреть tree views классификацию, но с ограниченным доступом к ресурсам  properties, activities. Но гость может обновить статус по платной подписке пользователя(paid_user).

paid_user - может смотреть все ресурсы. Дальше пользователь(**paid_user**) пользуясь ресурсами классификатора создает свой собственный проект (классифицируя свой объект).
