Сайт Центра Конкурентных Торгов «НИКА» + немного о разработке и разработчиках

avatar Кирилл
Калачёв
22.05.2013, 10:39
комментировать

nika_izh_it

URL сайта: http://www.cktnika.ru/

Разработчики:

  • Калачев Кирилл — серверная часть, контроль процесса разработки

  • Новокшонов Игорь — серверная часть, наполнение

  • Фасхутдинов Азат — вёрстка, наполнение

Срок разработки: 2 недели в свободное время + 1 неделя на доработки, пожелания заказчика и выкладывание в production.

Используемые технологии:

  • Ruby 1.9.3 и Ruby on Rails 3.2.13

  • SQLite (development), PostgreSQL (production)

  • Хостинг Heroku

  • Стандартный набор всяких рельсовых плюшек

Используемые гемы (могут кому-то пригодиться):

  • tinymce-rails и tinymce-rails-langs — использовали для подключения tinymce — легко и просто.

  • high_voltage — гем от thoughtbot, использовали для работы с вьюхами как со статическими страницами.

  • paperclip — гем от thoughtbot, подключаемая к моделям обработка и загрузка картинок.

  • nested_form — очень простой удобный гем для работы с вложенными формами (например, когда у сделки есть несколько подэлементов).

  • kaminari — использовали для пейджинга. Стоит отметить, что гем will_paginate использовать не стали не смотря на то, что он более древний и популярный. Kaminari показался удобнее и судя по всему многие рельсовики переходят сейчас именно на него.

  • metamagic — для работы с метатегами, но правильно прописать метатеги — это уже дело сеошников.

  • rails-i18n — для русификации различных стандартных текстовок, форматов дат и т.п.

  • simple-navigation — очень удобный гем для подключения конфигурируемых меню.

  • seed_dumper — интересный гем для дампа текущей структуры БД в файлы — порой бывает удобно, хотя возможно этот гем немного устарел.

Кроме того в админке потребовалась возможность вставки спойлеров в текст через tinymce. Удивительно, но работающего плагина мы для этих целей найти не смогли, так что Игорь написал свой — возможно кому-то пригодится. Суть плагина в том, что он кусок текста может оборачивать в определенные теги, на которые можно при отображении будет навесить генерацию спойлера яваскриптом.

Еще несколько интересных моментов в разработке связаны с хостингом heroku.

Во-первых, в бесплатной версии, heroku усыпляет сайты, в случае если их не посещали в течении часа. При последующем посещении сайт просыпается крайне долго (до минуты), а иногда и вообще не открывается с первой попытки. И явление это довольно неприятное. Вы конечно можете сказать — заплатите за хостинг и нет проблем. Но зачем платить, когда это можно обойти? Один из вариантов — это подключить add-on NewRelic и настроить периодический пинг сайта. Другой — настроить Heroku Scheduler для пинга сайта (по сути получается, что приложение пингует само себя). Однако оба этих варианта требуют подтверждения аккаунта при помощи ввода номера карты, а второй вариант вообще может привести к перерасходу бесплатных 750 часов и снятия небольшой суммы с карты. Есть также вариант настроить пинговалку на каком-нибудь своем отдельном сервере, но этот вариант не универсален.

На самом деле пинговать сайт можно и с бесплатных сервисов, а за одно и мониторить доступность сайта. Таких сервисов много:

Регистрируемся на любом из таких сайтов, настраиваем интервал проверки на каждые 30-45 минут. PROFIT! Heroku не отправляет сайт в сон и сайт работает отлично!

Еще одна особенность работы с heroku — это то, что нормальное доменное имя сайту назначается посредством указания CNAME к поддомену приложения на heroku. При этом heroku предупреждает, что с настройкой доступа по адресу без www могут быть проблемы — не каждый регистратор это поддерживается (и кажется, что это не разрешено в спецификации). В большинстве случаев, чтобы реализовать редирект, придется пользоваться услугой web-forwarding у регистратора.

Как говорят на ютубе: подписывайтесь, комментируйте. Будем рады адекватной критике.

Не скупитесь на ретвиты ↓
  • Левашов Максим

    Не писал на эту тему наверно год уже )

    Так ничё.

    Что бросается в глаза: в подвале скомкано, проблемы с цветом ссылок в контенте (где то они голубые, где-то голубо только выделение, где-то подчеркнуто и голубо — ссылка далее используется подчеркивание для выделения, но если клиенты САМИ наполняли ,то это норм ) да в меню нет пункта «главная» а надо-бы. На рататоре на морде почти нет лиц — это что закрытый клуб? И похоже внутр сео оптимизации нет. И думаю я бы не стал делать сайт с фиксированным дизайном, это нонсенс на фоне повсеместной адаптивности и мобильности.

    • dhampik

      Спасибо за отзыв, Максим. Постараемся учесть ваши замечания, особенно по поводу ссылок.

      • Левашов Максим

        И вам спасибо ) Здесь можно посмотреть с разных концов: ведь нет для оценки главного — стоимости всего этого. Будучи 15 лет во фрилансе могу сказать что к вольным художникам идут те, кто желает круто сэкономить ( хотя с годами приходит репутация и люди идут по рекомендациям).

        Если у сайта маленький бюджет и заказчик доволен, да и вы умудрились сработать в плюс значит все хорошо, нет смысла дальше париться. Если бюджет повыше то можно еще повозиться.

        • dhampik

          Да бюджет небольшой — работали скорее ради своего интереса/опыта/портфолио. И считаем, что если есть возможность исправить мелкие недоработки, то лучше это сделать (в ближайшие дни думаю над этим поработаем, как будет время). Заказчик вроде доволен. Еще раз спасибо за отзыв.

        • http://loshenov.ru/ Иван Лощёнов

          Самое главное — это задача, которая ставилась перед ребятами, а не бюджет. Бюджет в сайте не главное.

          • Левашов Максим

            Ты узнал меня в кафе Город ?)

            • http://loshenov.ru/ Иван Лощёнов

              Конечно :-)

Get Cloud PHP Hosting on CatN