База и вебинтерфейс для управления ей с авторекомендациями.
Таблицa listings:
id – уникальное(в пределах одного пользователя) поле счетчик (свой счетчик для каждого пользователя)
city – id из таблицы city _Constants
street_number – текстовое поле
street_address – текстовое поле
suburb – текстовое поле
property_type – текстовое поле
bedrooms – целые числа
government_value – целые числа
current_rates – целые числа
median_rent_qv – целые числа
capital_growth – десятичные числа
median_rent_tb – целые числа
agent_id – agent_id
appraised_by – Manager_id
Таблица city _constants:
city _id – уникальное поле идентификатор
city – текстовое поле
Таблица Managers:
manager_id – уникальное поле идентификатор
city – city _id
name – текстовое поле
agency- текстовое поле
phone_numbers- текстовое поле
email: – текстовое поле
rate – десятичные числа
Таблица agents:
agent_id – уникальное поле идентификатор
city – city _id
name – текстовое поле
agency- текстовое поле
phone_numbers- текстовое поле
email: – текстовое поле
Веб интерфейс:
Писать код для вставки в базу нужно с экранированием:
На уровне приложения мы данные от пользователя оборачиваем в строку и кавычки экранируем с помощью обратного слэша.
Страница внесения и редактирования листингов под названием listings:
id – счетчик, автоматом присваивает следующий по порядку свободный номер
city – дропдаун лист наполняющийся из таблицы city _constants, по умолчанию должно пре-заполняться значением поля city в предыдущем внесенном юзером листинге, но давать возможность выбрать другой город из выпадающего списка.
street_number – вводим вручную
Нужна функциональность авторекомендаций. Пример:
При заполнении одного из трех полей – agent name, agent phone, agent email вебинтерфейс должен предлагать авторекомендации. То есть вводим например Василий. После введения первой буквы он показывает снизу всех агентов, чье имя начинается на В. После второй буквы, он сокращает список, только до тех, чье имя начинается на Ва и тд.
Нашлел 5 Василиев и показывает их под строкой ввода в списке рекомендаций. Выбираю нужного, и тут он должен презаполнить 2 других поля значением телефона этого Василия и email. Но оставить их редактируемыми (на случай полного тезки).
Такойже алгоритм, если сначала вместо того, что бы ввести значение в поле agent name я начал вводить телефон в поле agent phone или начал вводить email в поле agent email.
То есть например в случае если я начал с ввода телефона система должна выдать пре-рекомендации по телефонам и сокращать список вариантов в рекомендации по мере того как я ввожу больше цифр телефона. Ну и когда я выбрал из списка нужный телефон, он должен автоматом презаполнить имя и email агента.
street_address – вводим вручную, с авторекомендациями под строкой ввода.
suburb – вводим вручную, с авторекомендациями под строкой ввода. property_type – лист со значениями: House, apartment, townhouse, unit.
bedrooms – лист от 1-6
government_value – вручную
current_rates – вручную
median_rent_qv – вручную
capital_growth – вручную
median_rent_tb – вручную
agent_name – вводим вручную, с авторекомендациями под строкой ввода. Источник – агенты из таблиц. Если такого агента нет в Таблицах уже, система должна автоматом добавить его имя телефон и email(после того как это все введено в поля) в таблицу agents.
agent_phone – Если мы начали вводить сначало телефон вместо имени агента то:
вводим вручную, с авторекомендациями под строкой ввода. Источник для авторекомендаций – телефоны из таблицы agents.
agent_email – Если мы начали вводить сначало email вместо имени агента Или телефона то:
вводим вручную, с авторекомендациями под строкой ввода. Источник для авторекомендаций – emailы из таблицы agents.
Appraised_by – вводим вручную, с авторекомендациями под строкой ввода. Если такого менеджера нет в этих таблицах уже, система после заполнения имени должна предложить внести имя его компании, телефон и email в таблицу Managers.
Должен присутствовать блок поиска и вывода результата.
Поиск нужно сделать c wildcards и возможностью поиска в результатах найденного. Поля поиска id, city , street number, street address, suburb, bedrooms, agent name, agent phone, gorvenment value (c возможностью задания диапазона), Нужна возможность сортировки результатов по любому полю.
Должна быть возможность отредактировать листинг.
Ну и конечно должна быть кнопка удаления листинга.
Страница city _Constants:
city – вручную,
Поиск, редактирование и удаление.
Страница Property Managers:
city – лист городов из city _constants
name – вручную
agency – вручную (авторекомендации по уже внесенным и глобальным записям для этого города)
phone_numbers – вручную
email: – вручную
Поиск, редактирование и удаление.
Страница Real Estate agents:
city – лист городов из city _constants
name – вручную
agency – вручную (авторекомендации по уже внесенным и глобальным записям для этого города)
phone_numbers – вручную
email: – вручную
Поиск, редактирование и удаление.
Красот в вебинтерфейсе не требуется.
Код надо писать с документацией (на русском) и коментариями.
Ежедневные коммиты в мой git репозиторий.
Работа на моем хостинге.
Оплата через безопасную сделку.