Данный проект был разработан «под ключ». У заказчика был в наличии фирменный стиль и сайт-пример, который был взят за основу в плане структуры контента. Благодаря данной информации, работы по данному проекту протекали очень гладко: практически с первого раза были согласованы прототипы и макеты дизайна сайта. Такие этапы, как вёрстка и натяжка на CMS,доработка функционала прошли тоже «на ура». Единственное, когда уже был готов сайт, были поменяны местами некоторые блоки на главной странице, добавлены новые страницы в разделе «О нас» и создан новый раздел сайта «Учебный класс».
Особенностью данного проекта является наличие геотаргетинга, который позволяет определять местоположение посетителя сайта по ip и задавать необходимый населённый пункт. Стоит отметить некоторые моменты реализации. А именно:
Геотаргетинг определяет только наименование населённого пункта, например «Красноярск». Но у нас на сайте планировалось выводить его наименование в предложном падеже. Поэтому, необходимо было трансформировать наименование в «Красноярске». Для «Красноярск» это конечно не проблема, можно было просто добавить символ «е». Но для таких городов, как Сочи, Рязань, Казань, Ростов-на-Дону, Нижний Новгород и так далее, это уже не представлялось возможным.
Первоначально было принято решение использовать сервис «Морфер». Этот сервис предоставлял API, при помощи которого можно отправлять запрос на склонение населённого пункта во все падежи и получать данные в необходимом для нас формате, например, json. Настройку взаимодействия сайта и данного сервиса удалось быстро осуществить и всё стало замечательно. Но по истечении некоторого времени появилась проблема: сервис позволяет выполнять ограниченное количество запросов в сутки, которого не хватало для наших нужд. Увеличение мощностей было возможно только после приобретения лицензии.
Решив, что в этом нет необходимости, было решено написать свой API, который осуществлял те же самые действия для нужд сайта, и, как следствие, не имел никаких ограничений. Для этих целей была найдена база населённых пунктов РФ, которая включала ~2500 наименований во всех падежах. При помощи парсинга она была занесена в MySQL и при помощи небольшого количества кода было настроено API для отдачи нужных данных в json при обращении к серверу. Таким образом задача была решена.
P.S. Работа выполнена «под ключ».