Сайт для публикации объявлений

Предложения о постоянной/проектной работе, связанной с разработкой приложений на CodeIgniter.
Правила форума
Возможны ссылки на сайты фриланса, но с обязательным копированием содержимого предложения.
После нахождения кандидата, обязательно закрывайте топик.

Сайт для публикации объявлений

Сообщение rondob » 11 авг 2009, 21:11

Ищу кто поможет сделать движок на CI для публикации объявлений недвижимости. Сайт необходим с поддержкой нескольких языков. Описание логики примерно такое:

1. Регистрация.
При регистрации нового пользователя идет разделение на 2 формы, для частных лиц, и для организаций. Поля в этих формах отличаются, в форме для организации есть дополнительные поля. Необходима проверка некоторых обязательных полей на заполнение, а также затем хранение личных личных данных пользователя в БД в зашифрованном виде. Также необходима очистка полученных от пользователя данных от вредоносных действий, и использование Captcha. Это все делается с помощью хелперов CI. Заполнили форму регистрации, прошли регистрацию, переходи к шагу номер 2.


2. Личный кабинет
Сразу после успешной регистрации на сайте, пользователь попадает в свой аккаунт. В верхней части страницы отображается "Здравствуйте, username!", а также его "user ID" в системе. Ниже, пользователь видит названия разделов: "Объявления", "Мои данные".

У раздела "Объявления", есть ссылки на "Добавить новое объявление", и "Управление объявлениями".
У раздела "Мои данные", есть ссылки на "Личные данные", "Адресные данные", "Банковские реквизиты".


2.1. Добавить новое объявление
После нажатия на ссылку "Добавить новое объявление", "шапка" аккаунта со ссылками на вышеназванные разделы так и остается, и сразу внизу отображается список категорий куда можно добавить свое объявление. Всего таких категорий 14. Для подробностей см. раздел 3.


2.2. Управление объявлениями
В этом разделе отображается список уже добавленных пользователем объявлений. Каждое объявление содержит такие данные: Превью фото, Заголовок (с ссылкой на само объявление), ID-номер объявления, Дату подачи объявл., Дату окончания объявления, и ссылки функций управления: Редактировать, Удалить, Отключить отображение, Продлить объявление. Весь список поданных пользователем объявлений находится на одной странице.

При удалении, объявление полностью удаляется из БД, а также все фотографии к нему удаляются с диска. "Отключить отображение" -- значит выключить объявление для отображения его на сайте. "Продлить объявление" -- функция, когда объявление было подано например на 7 дней, они истекли, объявление стало неактивным, но пользователь хочет подать его снова. Про редактирование объявления см. раздел 4.


2.3. Мои данные
В разделе "Личные данные", в полях формы сразу отображаются эл. адрес, номер телефона, факса, и тд. При их изменении, можно просто нажать кнопку формы "Сохранить", чтобы изменения сохранились. Настоящее имя, и фамилию пользователя изменять нельзя. Тоже самое и в разделах "Адресные данные" и "Банковские реквизиты". Все личные данные пользователя хранятся в БД в зашифрованном виде. Это реализуется с помощью хелперов CI.


3. Добавление нового объявления. Шаг 1 из 2.
После того, как пользователь выбрал раздел для добавления объявления какой-либо из разделов (см. раздел 2.1), отображается форма для ввода данных. Форма содержит раскрывающиеся меню, текстовые поля, и textarea элементы. У каждого из разделов своя форма, многие поля совпадают, но есть отличия. Также, если пользователь был частным лицом например (вспомним разделение при регистрации) то форма также имеет отличные поля от той, что необходима для клиента фирмы. Таким образом если у нас 14 разделов, форм для добавления объявлений будет 28, -- 14 для частных лиц, и 14 для организаций.

В форме есть такие раскрывающиеся меню как: "Продолжительность объявления" (напр. 7 или 14 дней), "Тип объекта" (в каждом разделе могут быть свои типы объектов). А также "Улица" (здесь при наборе первых букв должны появляться похожие названия улиц из БД (это все готово)). Выбор Района города и тд. Некоторые поля формы обязательны к заполнению. Также необходима фильтрация всех получаемых от пользователя данных от вредоносных действий.

После того как объявление добавлено в БД, его копия записывается в сервисную таблицу БД (лог), с пометкой "new" для новых добавлений, ("delete" - когда пользователь удалил объявление, "renew" -- когда пользователь продлил объявление). Эта таблица используется для служебных целей, и обычный пользователь не имеет к ней доступа. В ней хранятся копии объявлений которые подавал пользователь, с пометкой действий которые он над ним производил (new, renew, delete). При редактировании объявления, ничего отмечать в таблице лога не нужно.

После этого пользователь переходит ко второму шагу -- загрузке фотографий.


3.1. Добавление фотографий к объявлению. Шаг 2 из 2.
Максимальное количество фотографий которые можно прикрепить к объявлению -- 10. Также настраивается тип файлов загружаемых файлов фотографий, и их размер в Кб. Например макс. 10 файлов, только JPG, JPEG, весом не более 500 Кб. для каждого фото. Загружаемые фотографии должны иметь 2 размера после их загрузки на сервер, первый размер для превью, и второй размер для увеличенного просмотра. Если пользователь не хочет сейчас добавлять фотографию, он должен иметь возможность сделать это позже.

После этого шага, пользователь переадресовывается на страницу со списком разделов для подачи нового объявления.


4. Редактирование объявления
Ссылка на редактирование каждого отдельно объявления находится с разделе "Управление объявлениями" в списке всех объявлений. При редактировании объявления пользователь может менять данные всех полей за исключением нескольких из них. Так же он может удалять фотографии, добавлять новые.


5. Навигация, и поиск для посетителя сайта
Когда посетитель приходит на сайт, он по умолчанию попадает в раздел объявлений #1. Перед ним появляется список (в виде таблицы) объявлений которые находятся в этом разделе отсортированный по дате добавления. Каждое объявление представляет из себя блок, из заголовка, и нескольких полей с их значениями, которые при заполнении являлись обязательными. А также маленьким фото для предпросмотра. Вверху страницы каждого раздела имеется небольшая форма поиска. Форма меняется от раздела к разделу, т.к. критерии поиска немного отличаются в каждом разделе. Также есть возможность поиска по названию улицы (точнее по её ID в БД, который мы узнали когда выдавали список улиц по первым набранным буквам при подаче объявления). Т.е. например я хочу увидеть все объекты стоимость от xxx до xxx на улице Abc.

Также необходим гео-поиск по радиусу. Т.е. когда нужно найти объекты в радиусе 10 км. от определенного места. Когда объект добавляется в БД мы запрашиваем через Google Maps API его координаты, и сохраняем их в БД. А затем делаем поиск по эти координатам с вычислением расстояния от заданной точки. Это все у меня есть, я испытывал в работе.

Внизу страницы предусмотрена навигация по страницам.

Когда пользователь нажимает на фотографию объекта, или его заголовок, открывается модальное окно, в котором отображаются данные этого объекта, но только те поля, которые были заполнены пользователем при подаче объявления, галерея фотографий (нужен Ваш совет), плюс контактные данные. Незаполненные поля не отображаются. Также отображается карта "Google Maps" где отмечено положение объекта на карте (это сделано). Должна быть предусмотрена возможность запомнить этот объект (например в Cookie), чтобы например потом показать список объектов которые отметил пользователь, и он мог к ним вернуться. А также возможность распечатать описание объекта и его фото.


6. Интеграция с форумом
Хотелось также сделать интеграцию между сайтом, и форумом PunBB, чтобы избежать двойной регистрации. Я экспериментировал, и сделал регистрацию на сайте основанную на движке форума. Это работает, но выглядит всё же не очень удобно. Может быть вы подскажите свое решение, я буду только рад.
rondob
 
Сообщения: 196
Зарегистрирован: 11 фев 2009, 19:18

Re: Сайт для публикации объявлений

Сообщение Tovit » 11 авг 2009, 22:46

Хотелось бы узнать сроки, на которые рассчитываете Вы. А так же возможные варианты оплаты.
Фантазия! Фантазия! Она поможет... не форум!
Аватара пользователя
Tovit
Модератор
 
Сообщения: 1230
Зарегистрирован: 15 фев 2009, 17:18

Re: Сайт для публикации объявлений

Сообщение denis909 » 11 авг 2009, 23:54

Интересно будет собрать команду 3 - 5 человек и совместно поработать. Вообщем, открыт к сотрудничеству.
Аватара пользователя
denis909
 
Сообщения: 185
Зарегистрирован: 27 фев 2009, 00:58

Re: Сайт для публикации объявлений

Сообщение rondob » 12 авг 2009, 09:40

Tovit писал(а):Хотелось бы узнать сроки, на которые рассчитываете Вы. А так же возможные варианты оплаты.

Я самостоятельно написал все до того момента в ТЗ, когда идет редактирование объявления (т.е. его я уже не делал). Но т.к. я только осваивал CI то думаю мой код не очень то и хорош, и в нем есть ошибки. Могу сказать честно, для опытного человека хорошо знающего CI это работы на 2-4 недели, т.к. . Всю рутину (а это формы) я беру на себя, и предлагаю свою помощь в работе. Просто вас пугает наверное интеграция с Google API, а там все просто, я это уже сделал и передам все коды.

Варианты оплаты WesternUnion, MoneyGram.
rondob
 
Сообщения: 196
Зарегистрирован: 11 фев 2009, 19:18

Re: Сайт для публикации объявлений

Сообщение Tovit » 13 авг 2009, 20:29

denis909 писал(а):Интересно будет собрать команду 3 - 5 человек и совместно поработать. Вообщем, открыт к сотрудничеству.

аналогично. Стучите в личку.

Автору топика -- в личку, сколько готовы платить?
Фантазия! Фантазия! Она поможет... не форум!
Аватара пользователя
Tovit
Модератор
 
Сообщения: 1230
Зарегистрирован: 15 фев 2009, 17:18


Вернуться в Работа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0