Тем временем, меня можно поздравить с релизом моего первого большого корпоративного проекта, где я была главным и единственным фронт-енд разработчиком. До этого я была на суппорте на нескольких сайтах, и ещё мы с Осамой писали все скрипты для аваскопа с использованием knockout.js. Но это всё было гораздо менее масштабно, чем то, что релизнулось на прошлой неделе.

Дамы и Господа,

www.princes-trust.org.uk

( старый сайт можно посмотреть по этой ссылке web1.princes-trust.org.uk )
Prince's Trust - это огромная благотворительная организация, которая помогает молодёжи устроиться на работу и курсы. То есть, это не мелкая контора, а вполне себе здоровенная и известная компания.

Естессно, помимо меня в команде было ещё два бэк ендщика (они писали код для всего, что происходит на серваке), тестер, SOA developer и бизнес аналитик. И это только с нашей стороны. Так что это усилия целой команды, но моего тоже много.

- Весь сайт с нуля по картинкам дизайн-агентства
- Весь хтмл и ксс
- Мобильная версия (responsive, т.е. тот же хтмл, а не отдельная версия)
- Самый длинный ксс файл - чуть более 1000 строк, это стили для форм. Причём, они в формате sass, когда это компилируется в ксс, получается гораздо больше
- Более 5000 строк жаваскрипта
- Самый длинный жаваскрипт файл - почти 700 строк. Это validation для форм, который проверяет, правильно ли заполнена форма
- Интеграция с 6 сторонними сервисами: Гугл мапс (включая их сервис geocode для поиска по посткоду или городу), Worldpay, Oracle Policy Automation (формы), поиск с помощью Solr, видеоплеер Brightcove (приз за самую херовую документацию по API) и QAS address search (вторая по сложности интеграция после форм, учитывая все проблемы с ним).

Сайт сделан на базе Oracle Web Center Sites, что позволяет клиентам самим заполнять его контентом. Они выбирают формат страницы (1 или 2 колонки) и потом наполняют её горизонтальными компонентами в любом порядке. В каждом компоненте свои модули, которые так же они заполняют сами. Т.е. у них есть образцы дизайна для каждого модуля, а какой именно текст иили картинка там будет, решают они. Выглядит это как написание поста в дневнике) Они тоже заполняют заголовок в отдельном поле, а для текста есть специальный редактор, похожий на дневниковский, только более сложный. Они вписывают текст, вставляют картинки, а потом это всё автоматически красиво собирается в выбранный модуль.

Практически всё, что есть на этом сайте, я делала впервые, и у меня было несколько постов, где я писала, что очкую. Потому что было что-то типа "надо показывать курсы на карте гугла, причём одни таким цветом, другие таким, а если несколько курсов в одном месте, то мы бы их и поскроллили ещё". "Ага", - говорила Алёна и убегала курить мануалы и составлять формат данных, который нужен, чтобы всё это утворить. И надеяться, что всё это возможно и будет работать.
В случае с формами, правда, было ещё круче. Эту эпопею я описывала уже, но суть в том, что мы сделали то, чего не делал ещё никто. Ещё никто не интегрировал эту хрень с веб сайтом, поэтому никаких мануалов попросту нет. Весь фреймворк придуман с нуля, причём больше половины придумала я, и потом мы с ребятами из бэк енда это всё обсуждали, я объясняла, что мне нужно, они объясняли, почему что-то нельзя сделать, и мы придумывали, как сделать так, чтобы работало. Вообще формы работают на полностью кастомном движке, начиная от отображения на странице и заканчивая проверкой заполнения формы со стороны пользователя. Три скрипта, которые управляют процессом (отображение, validation, conditionality и QAS, 1800 строк в общей сложности) работают с любыми формами, которые клиенты себе там придумывают. Над формами мы работали больше двух месяцев, и это вон почти 40% от всего написанного мной скрипта.

Когда ходишь по сайту, по нему особо не скажешь, что он какой-то мега сложный. Мы так тоже не думали, когда делать начинали. Но некоторые моменты оказались просто капец головоломным адищем. Формы, страница с картой и фильтром (на ней овердохуа происходит) и мой личный кошмар - pagination, который свалился на меня несколько неожиданно)) Так же, я непредвиденно познакомилась с декодированием параметров в адресной строке и всяческими манипуляциями с ними, причём чуть ли не в последний момент, и ещё заодно написала кучу скрипта для управления всяким нестандартным функционалом с клавиатуры, потому что у сайта должен быть AA accessibility rating. Если бы на меня всё это вывалили в начале проекта, я бы в обморок упала. А так, оно как-то постепенно вылезало изо всех дыр, так что я пугалась только по факту))

Такие дела. 19го или 20го мы релизим патч, который должен закрыть кое-какие недочёты, но они по идее малозаметны)

Вооооооооооот)

ПС если что, я скрипт учила сама, два года назад летом на работе %) поэтому для меня это вполне себе достижение.