Привет сообщество! Впервые хочу поделиться здесь своим опытом разработки сайта и рассказать о самом процессе разработки. Надеюсь, вам понравится читать и вы поделитесь своим мнением. Заранее скажу, что никакой рекламы и/или пиара делать не хочу и не буду, так что если интересно, пишите в личные сообщения.

Итак, моя эпопея начнется с предыстории.

до истории

Я много лет работал веб-разработчиком в компании по недвижимости.

Разрабатываю CRM систему, сайт, мобильный сайт, приложения, анализаторы и вообще много делаю и при этом изучаю разные технологии и применяю их там где это будет наиболее практично, быстро.

Грузия, Батуми

В прошлом году я переехал жить в солнечную Грузию, и в плане объектов недвижимости (по крайней мере сейчас) все не так развито, как хотелось бы. Я помню, когда я искал Или Именно в поисках недвижимости я наткнулся на очень популярный в Грузии сайт. Но общение с ним было для меня довольно болезненным по нескольким причинам:

  • В первую очередь языковой барьер (местные “брокеры” плохо или совсем не знают русский язык)

  • Множество “поддельных” объявлений, которые уже заняты, проданы… или не существуют

  • Цена отличается от того, что написано в объявлении

  • и т. д. И так далее.

Языковой барьер

Языковой барьер

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

Здесь я нашел много подходящих вариантов, из которых выбрал то, где живу сейчас, и написал для вас эту статью.

Подбор недвижимости в каналах также не лишен недостатков:

  • Дублирование рекламы при пролистывании экрана

  • Ожидания (как на фото) и реальность могут отличаться (иногда значительно)

  • Нет возможности фильтровать объявления (это делает брокер в своей голове), т.е. возможно подходящий вариант может быть упущен или не учтен.

  • У брокера нет веб-сайта. Или как сайт — это страница в инстаграме или его телеграм-канал.

Именно тогда я подумал, что было бы здорово внести свой вклад и помочь моему новому дому (жителям солнечной Джорджии) и брокерам получить другое представление о сайте, и это может быть очень удобно для них самих и их клиентов. В этот момент мне в голову пришла идея.

Идея

Идея

Моя идея

Так и родилась идея – создать исходник сайта. Который может использовать любой агент по недвижимости – совершенно бесплатно! С помощью вашего программиста, или через меня, или (пошагово объясню в другой статье) этот источник можно залить на хост и предоставить вашим пользователям каталог с фильтрами выбора, всем арсеналом агентских баз.

ЧИТАТЬ   «Возрожденный»: две смерти - быть

Представьте, как удобно было бы покупателю открыть сайт, выбрать свои предпочтения в фильтрах. Например, цену, количество комнат, площадь, этаж и выбрать несколько вариантов, которые ему подходят, и совершить экскурсию, чтобы посмотреть эти варианты с агентом по недвижимости и принять решение об аренде или покупке. При этом риэлтор экономит много времени на бензине, ищет жилье по потребности и при этом приносит элемент заботы лично от себя! Его клиент вернется к нему, потому что с этим агентом по недвижимости легко и удобно работать.

Забыл сказать, что мне очень нравятся “стартовые проекты”. Для этих проектов очень важно, чтобы затраты на их обслуживание были очень низкими и чтобы их было очень легко модифицировать. Поэтому, прежде чем метаться и “ссать” я, как всегда, решил подумать об архитектуре с самого начала и определить исходные требования

Начальные требования

Прежде всего, я хочу, чтобы вы поняли. У меня нет цели по связям с общественностью или как-то отличиться своими знаниями в области высоких технологий. Поэтому я использую только те технологии, которые, по моему мнению, практичны для быстрой адаптации к постоянно меняющемуся бизнесу. В моем понимании бизнес — это не что-то идеальное и отлаженное, а то, что постоянно подстраивается под своего клиента. Где нужно что-то изменить здесь и сейчас на сайте и загрузить. Сделай это очень быстро! Где нужно потратить минимум времени и денег и при этом предоставить заказчику то, что ему нужно.

#0 – Итак, что у нас есть входные данные:

  • 1. Молодая компания ~100-500 посещений в день

  • 2. Минимальные затраты на хостинг

  • 3. Хостинг состоит из изображений объектов, базы данных и самого сайта

  • 4. Хостинг — это место, где вы хотите заплатить за домен

  • 5. Изображения, базу данных и сайт можно разместить на отдельных серверах, чтобы увеличить посещаемость.

  • 6. Возможность очень быстро перейти на другой хостинг с минимальными хлопотами

  • 7. С этим мог бы помочь программист с небольшим набором знаний (наличие широкого выбора программистов, которые могут помочь с переездом, доработкой и т.д.)

  • 8. Возможность интеграции с существующими CRM и всеми сервисами API

ЧИТАТЬ   Сколько крыс может поместиться на небольшой петербургской свалке. полагаться на видео

#1 – Требования к Веб-сайт:

  • 1. Наличие каталога с фильтрами

  • 2. Наличие страницы товара для отображения информации о товаре, фотографий, видео и форм обратной связи

  • 3. Поисковые боты должны без проблем индексировать все страницы

#2 – Требования к База данных объектов:

  • 1. В базе данных представлен список объектов для сайта

  • 2. База может работать не “только с сайтом”, а предоставлять данные приложениям или участвовать в межведомственных базах (разумеется, с учетом приватной информации)

  • 3. База нуждается в отдельном ПО для взаимодействия с ней и ее защиты (далее буду называть ее API)

№ 3 – Требование к Файлы базы данных:

Отдельный софт. Это предполагает наличие большого объема памяти для хранения фото, видео и документов. Но не только, вот требования:

  • 1. Хранить файлы и документы (записывать, удалять, читать)

  • 2. Хранение изображений (запись, удаление, чтение) и при этом возможность рендеринга изображений в разных разрешениях и нанесение водяного знака или логотипа при необходимости.

  • 3. Минимум документов при переезде

Подумав об этом таким образом, я нашел эту схему:

26d1205ec4fa2de219b7f15a5bc9df5f

Это может показаться необычным, но на основе этой схемы нужно создать не один, а несколько сайтов:

  • Веб-сайт – который будет общаться с базой данных (API) ~ api.website.com

  • Сайт – который будет общаться с файловым хранилищем (STORAGE) ~ files.website.com

  • Сайт-каталог, который будет взаимодействовать с двумя предыдущими сайтами.~ веб-сайт.com

  • уведомление

! Имею в виду, что желательно иметь эти сайты в пределах одного (физического) сервера. В противном случае скорость загрузки снизится.

Определившись с архитектурой, я перешел к вопросу выбора технологий:

Для API веб-сайта я решил использовать PHP. Почему не NODEjs, FastAPI, Flask? – См. статьи № 0.3, 0.6, 0.7). Версия php 7.4. У меня есть собственная разработка API, которая на мой взгляд работает не хуже существующих решений, а в некоторых случаях и лучше! (Чуть позже я расскажу об этом на Хабре).

Для STORAGE я тоже решил использовать PHP. Почему я не рассмотрел возможность сервисов хранения файлов (объектных хранилищ)? Напомню, что я выстраиваю здесь бюджетную систему и стараюсь максимально сэкономить! А еще есть баллы: 3,3/0,2/0,3/0,6)

Для основного сайта я тоже решил использовать PHP. Почему я не использовал Nuxt/Next/Flask — см. параграф 0.6/0.1/0.7/0.8. А на самом сайте я сознательно не использовал SCSS и прочие препроцессоры. Механизм шаблонов – TWIG

ЧИТАТЬ   В Перми действующих военных бесплатно обучат работе с беспилотниками

Для базы данных я взял старый/добрый MySQL

В конце концов

Мне потребовалось 5 часов, чтобы расширить все таблицы базы данных:

  • Список объектов

  • Список городов

  • Список районов

  • Справочник (для источников, статусов и других ~50 подобных списков)

  • Менеджеры и система доступа

  • Лиды, параметры и куча других страниц…

Почему так долго? Потому что рассматривалась возможность раздачи объектов на популярные сайты – агрегаторы недвижимости. У них есть документы и требования к еде. И я должен был принять это во внимание и воспользоваться этой возможностью. Согласитесь, было бы здорово – если бы агент не вручную (тратя много времени) заполнял объявления на этих сайтах, а сайт делал бы это за него!

Разработка серверного APIУ меня ушло 2,5 часа. Работа заключалась в том, чтобы клонировать файлы и проставлять имена таблиц в строках, иногда я прописывал модули для проникновения в структуру таблиц.

Сайт разработки У меня ушло несколько дней (2-3). Очень помогло то, что я нашел css фреймворк (набор стилизованных элементов) с кнопками, полями, карточками и т.д. готов использовать.

выводы

Уважаемые агенты по недвижимости. Мы программисты – мы всегда готовы к диалогу с вами и сотрудничеству с вами – чтобы сделать этот мир современнее, удобнее и лучше для таких замечательных людей, как я. Гы 🙂

Как я уже упоминал ранее, я не буду давать ссылки на сайт или источники, которые я наконец получил, но вы можете получить их БЕСПЛАТНО, если вы напишите мне и расскажете, какие проблемы у вас есть в вашей компании, как это работает для вам прямо сейчас – это необходимо, чтобы я мог улучшить этот код в будущем.

Доброго времени суток, Хабр!

Source

От admin