Задание на лабу 2 и 3

Лабораторные работы 2 и 3 объединяются в одну последнюю работу. Необходимо создать небольшой сайт на Ruby on Rails, подобный описываемому на сайте http://railstutorial.ru.
Читаете и последовательно выполняете описанное в книге. Повествование по созданию примера сайта начинается примерно с 5-ой главы. До этого идет в основном теория. Естественно, должны быть некоторые отличия от описанного в книге сайта.

Краткие требования к сайту:

  • Сайт должен представлять собой не список микросообщений пользователей, а список документов, описывающих любую абстрактную систему (помним, что у нас курс Системного анализа). Документ представляет собой форму, где есть следующие поля:
    • Название системы;
    • Краткое описание системы;
    • Тип системы (выпадающий список - например, реальная, виртуальная и др. - придумайте на свою изощренную фантазию)
    • Теги;
    • Подробное описание системы (что-то типа ТЗ);
    • Список задач, решение которых необходимо, чтобы реализовать систему;
    • Список пользователей, ответственных за реализацию системы (можно просто текстовым списком, но гораздо лучше реализовать выбор из зарегистрированных на сайте пользователей);
    • Другие пункты на ваше усмотрение (можете несколько подредактировать представленные выше пункты и придумать свои, чтобы отличаться от других сайтов);
    • Кнопка сохранения документа.
  • Документ является таким же ресурсом Rails, как и микросообщения, поэтому отличия в разработке по сравнению с книгой должны быть незначительны.
  • Должна быть предусмотрена регистрация и авторизация пользователей (можно не реализовывать отправку почты).
  • Создавать документы с описанием систем (далее документы) могут только авторизованные пользователи.
  • Редактировать и удалять документы могут только пользователи, создавшие документ.
  • Можете добавить комментирование документов другими пользователями сайта. Это будет дополнительным, но не обязательным, плюсом вашего сайта.
  • На главной странице сайта должен размещаться список документов всех пользователей.
  • Должна быть вкладка "О сайте", где может быть информация о создателе сайта с фотографией на коне в полный рост.

Требования к проекту и коду сайта:

  • Сайт должен быть выложен в репозиторий на http://civnote.ru
  • Выкладывать на heroku не обязательно, но было бы неплохим плюсом к работе.
  • Для выкладки сайта необходимо в проекте своей командной курсовой работы создать подпроект с названием в формате "ФИО-группа-лаб-2-3". Уникальный идентификатор должен быть в формате "familia_26x_rails". Разумеется вместо familia пишете транслитом свою фамилию, а вместо 26x вписываете номер своей группы. За несоблюдение этого формата буду очень сильно переживать!
  • Каждый класс, метод и основные переменные должны быть тщательно прокомментированы. Для классов комментарии можно делать сразу после определения класса, для методов и переменных непосредственно перед ними. Работы с отсутствующими комментариями или с очень малым их количеством приниматься не будут. Кто будет лениться писать нормальные и понятные комментарии, а ограничится одним-двумя словами, понятными только разработчику, просто получит значительно меньше баллов.
  • Также обязательно нужно расставлять комментарии в erb(html) и css файлах. Кто-то будет возмущаться, что это лишняя работа, но это не так. Кроме того, это учебное задание и мне важно, чтобы я видел, что вы понимаете, что пишете (очень много что).
  • Для оформления сайта можно использовать bootstrap, но обязательно кастомизированный (измененный). Дизайн не должен совпадать с описанным в книге.
  • Тестирование (как описано в книге) можно не использовать.
  • Работу достаточно делать в development режиме. Я буду проверять работу именно в этом режиме.
  • Версионный контроль проекта сайта обязателен. Должно быть не один-два коммита, а значительно больше - не меньше 10. По ходу выполнения проекта не забывайте делать коммиты!
  • Делаете небольшой протокол по лабораторной работе, в котором описываете постановку задачи, список классов, методов и скриншоты сайта. Протокол выкладываете в электронном виде в проекте с лабой.
  • Код будет проверяться на плагиат. Код в разных работах может быть схожим по причине одного задания, но не должен быть одинаковым. Прошу делать самостоятельно, иначе работа не будет приниматься вообще!

Вопросы по работе необходимо задавать на форуме в теме Лабораторная работа по RoR

Примерно половина вашего итогового балла за работу в семестре будет складываться из данной работы. Залить в репозиторий код вашего сайта необходимо до 6 июня. Это ваш день Д, к которому вы должны сдать все долги (лаба 1 и 2, курсач) по Системному анализу.

Если у кого-то проблемы с установкой и настройкой Linux и Ruby on Rails, то можно скачать уже установленную конфигурацию ubuntu - https://yadi.sk/d/M0qDdvy-oxLoj

В VirtualBox выбираете Файл->Импорт конфигурации. Затем выбираете этот файл. Админ - user. Пароль админа 123456. Там уже должен стоять rvm, rails, sublime и др.

Добавить изображение из буфера обмена (Максимальный размер: 20 МБ)