20
Как мы в onliner.by делали «Аренду квартир» Евгений Кирдей

Как мы в onliner.by делали аренду квартир

Embed Size (px)

Citation preview

Page 1: Как мы в onliner.by делали аренду квартир

Как мы в onliner.by делали «Аренду

квартир»Евгений Кирдей

Page 2: Как мы в onliner.by делали аренду квартир
Page 3: Как мы в onliner.by делали аренду квартир
Page 4: Как мы в onliner.by делали аренду квартир

Почему именно аренда квартир?

Page 5: Как мы в onliner.by делали аренду квартир

Story mapping«Story mapping предоставляет собой технику визуального и физического представления последовательности действий, которые должны быть реализованы решением. При этом используется двухмерная сетка, чтобы показать последовательность и группировку ключевых аспектов продукта по горизонтали, а детали и приоритет историй по вертикали.»

http://devprom.ru/

Page 6: Как мы в onliner.by делали аренду квартир
Page 7: Как мы в onliner.by делали аренду квартир

Нам нужно выбрать инструмент для

поиска по координатам

Page 8: Как мы в onliner.by делали аренду квартир

Нам нужно выбрать инструмент для

поиска по координатам

Ок, сделаем замеры

Page 9: Как мы в onliner.by делали аренду квартир

Нам нужно выбрать инструмент для

поиска по координатам

Ок, сделаем замеры

Page 10: Как мы в onliner.by делали аренду квартир

Из чего выбирали:

•MongoDB

•Sphinx

•Postgis

Page 11: Как мы в onliner.by делали аренду квартир

Из чего выбирали:

•MongoDB

•Sphinx

•Postgis

Page 12: Как мы в onliner.by делали аренду квартир

Квартира, владелец, 1 комната, < 500$, без метро

Page 13: Как мы в onliner.by делали аренду квартир

Квартира, владелец, 1 комната, < 500$, все станции метро

Page 14: Как мы в onliner.by делали аренду квартир

Сервисы и их взаимодействие

Толстый клиент

Page 15: Как мы в onliner.by делали аренду квартир

Процесс загрузки изображения

application config

Page 16: Как мы в onliner.by делали аренду квартир

• ØMQ Broker & Workers запускаются и останавливаются artisan командой

• Каждый воркер форкает сам себя и запускает процесс в форке

• Цепочка событий, состоящая из Rotate, Clone Image, Resize (Crop center, Resize by bigger size, Scale, etc.), Save Locally, Text Watermark, Change Exif, etc.

Особенности реализации

Page 17: Как мы в onliner.by делали аренду квартир

Plug-in для SphinxQL

• Поддерживает и повторяет синтаксис Eloquent

• Добавили компиляторы грамматики для поиска по координатам ((or)whereWithinGeoPolygon, (or) whereGeoDistance, whereMatch(All, Any), replace)

• Правки для поддержания особенностей SphinxQL (wrapping, paginate, escapeMatchString)

• Покрыто Unit-тестами

Page 18: Как мы в onliner.by делали аренду квартир

• CORS

• Генератор объявлений и конфигов sphinx

• Свой FromRequest

• libcredentials для авторизации и аутентификации

• Attach plain index to RT index

• Данные берутся лишь из Sphinx, cохранение производится как в Mysql, так и Sphinx

• Из-за особенностей Sphinx вместо Update 2 события Delete + Insert

• Кэширование geocode queries

Особенности реализации

Page 19: Как мы в onliner.by делали аренду квартир

Скоро на Laravel 5!!!

Page 20: Как мы в onliner.by делали аренду квартир

Евгений Кирдей

[email protected]

• skype:eugene.kirdzei

• https://facebook.com/eugene.kirdzei