Давайте реализуем упрошенную версию 2Гис справочника. Предполагаемая аудитория 1 000 000 пользователей в месяц. Размер базы фирм составляет порядка 100 000 записей. Наш справочник будет имеет 3 вида объектов:
- Фирма
- Здание
- Рубрика
Взаимодействие с пользователем происходит посредством HTTP запросов к API серверу. Все ответы представляют собой JSON объекты. Сервер реализует следующие методы:
- выдача всех организаций находящихся в конкретном здании
- список всех организаций, которые относятся к указанной рубрике
- список организаций, которые находятся в заданном радиусе/прямоугольной области относительно указанной точки на карте.
- список зданий
- выдача информации об организациях по их идентификаторам
- дерево рубрик каталога со всеми предками, с возможностью фильтрации по потомкам конкретного узла
- поиск организации по названию
- рубрикатор каталога сделать с произвольным уровнем вложенности рубрик друг в друга
Configured web server PHP 5.4+ Mysql 5.6.1+ Varnish 4 (optional)
git clone git@github.com:NikitaObukhov/2gis.git
cd 2gis
composer install
php bin/console doctrine:database:create
php bin/console doctrine:schema:create
php bin/console doctrine:fixtures:load
chmod -R 777 var/cache var/logs var/sessions