-
Notifications
You must be signed in to change notification settings - Fork 6
/
README
43 lines (31 loc) · 4.03 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
1. Список объектов (гостиницы, квартиры, виллы…)
– Фильтрация по признакам объекта(место нахождения объекта, звезность, кол-во комнат и тд)
– Должна быть возможность поиска по названию объекта
– Поиск, фильтрация и пагинация должна быть реализована средствами ajax.
2. Страница объекта (фото, место нахождения объекта, кол-во звезд, кол-во комнат, присутствие сервисов – бар, бассейн, душ и тд)
Требования
1. PHP 5 ООП. При разработке можно использовать фреймворк ZF.
2. Оптимизированные запросы к MySQL.
3. Внизу страницы надо выводить параметры работы скрипта (время, память…) и БД (число запросов…);
4. Особое внимание к GUI. Оформление должно быть без изысков, но простым и аккуратным. Можно использовать CSS-фреймворки.
5. Сайт выложить по любому адресу, чтобы можно было посмотреть.
6. Придумать и реализовать метод генерации объектов, с помощью перебора признаков – место нахождения объекта, звезность, кол-во комнат и тд. И сгенерировать 1 млн объектов для теста.
Время на разработку – 2-3 дня.
Нам нужно оценить Ваш результат как разработчика, который не просто пишет код, а решает задачу. Глубину проработки и объем необходимого функционала Вы определяете сами, исходя из возможностей по времени и собственных представлений о том, что минимально необходимо для решения данной задачи.
- - -
Install
1. В настройках application/config/database.php изменить настройки подключения к БД
2. Залить state.sql дамп структуры БД
3. В файле fixtures/generate.php изменить так же настройки подключения к БД и запустить генерацию данных (2 млн. записей)
Windows: g.bat для Linux: php generate.php
- - -
Основные моменты:
- Использован фрэймворк CodeIgniter, с чуть измененным ядром (имена контроллеров содержат слово Controller ex: EstateController)
- Полная интернационализация, язык language/russin/default.php
- Twiiter Bootstrap как CSS фрэймворк для дизайна
- Для AJAX подгрузки использован плагин Waypoint, JQuery, код вынесен в отдельные файлы и объекты
- Fancybox библиотека для презентации галереи изображений
- Документирование в PHPDOC (Doxygen берёт на ура)
- Кэширование в файловую систему, но легко переключаемое на APC или на Memcache
- Никаких JOIN и "сырых" SQL запросов, везде ActiveRecord (легко разнести БД и таблицы на разные сервера и сменить MYSQL на другую БД)
- Обертка вокруг стандртного VIEW с поддержкой layouts и partials, возможность включить полное кэширование страниц $this->output->cache(n); n - время