ark-backend
— это серверная часть веб-приложения, созданного для управления объектами недвижимости, включая города, комплексы, квартиры, земельные участки и секции. Проект реализован на Django и Django REST Framework, предоставляет REST API для работы с объектами и поддерживает уведомления в Telegram о новых заявках, а также отправку заявок в CRM-систему.
-
Клонируйте репозиторий:
git clone https://github.com/melixz/ark-backend
-
Настройте переменные окружения в файле
.env
:# Подключение к БД POSTGRES_DB=имя_бд POSTGRES_USER=имя_пользователя POSTGRES_PASSWORD=пароль POSTGRES_HOST=localhost POSTGRES_PORT=5432 # Подключение к CRM CRM_API_TOKEN=токен_CRM_API # Подключение к Telegram боту и каналу TELEGRAM_BOT_TOKEN=токен_бота TELEGRAM_CHAT_ID=ID_чата
-
Установите зависимости:
pip install -r requirements.txt
-
Выполните миграции базы данных:
python manage.py migrate
-
Запустите сервер разработки:
python manage.py runserver
-
Приложение будет доступно по адресу
http://127.0.0.1:8000
.
- Python 3.12+
- Django 5.0 и Django REST Framework: для создания и управления API
- PostgreSQL: в качестве базы данных
- Django Admin: для управления объектами из панели администратора
- Pillow: для обработки изображений
- Requests: для отправки данных в CRM и Telegram
- Управление городами и объектами недвижимости: Поддержка CRUD-операций для городов, жилых комплексов, квартир, застроек и земельных участков.
- Секции и изображения: Добавление и отображение изображений для объектов недвижимости, включая секции для квартир и участков.
- Кэширование и ограничение запросов: Реализованы кэширование для оптимизации скорости отклика и ограничение запросов с помощью кастомных классов
CustomAnonRateThrottle
иCustomUserRateThrottle
. - Административная панель: Полный доступ к управлению объектами через Django Admin, с удобными инлайнами для изображений и секций.
- Уведомления и интеграции: Отправка заявок в CRM и уведомлений в Telegram о новых заявках через API
/submit-form/
.
GET /api/full-data/
— Получение полной информации о новостройках и застройках, включая комплексы, участки и их секции.POST /api/submit-form/
— Отправка формы заявки в CRM и уведомления в Telegram.
Проект интегрирован с CRM через API для отправки заявок, что позволяет отслеживать данные в реальном времени. Кроме того, поддерживается отправка уведомлений в Telegram-канал при поступлении новых заявок.
- Гибкость и расширяемость: Поддержка различных типов объектов недвижимости, добавление секций и изображений.
- Кэширование запросов и ограничения: Оптимизация отклика за счет кэширования и лимитов на количество запросов для анонимных и авторизованных пользователей.
- Интеграция с Telegram и CRM: Поддержка автоматизированной отправки данных в CRM и уведомлений о заявках в Telegram-канал.
Целью проекта является предоставление удобного и расширяемого интерфейса для работы с объектами недвижимости через REST API и административную панель Django. Это позволяет пользователям и администраторам легко управлять данными о недвижимости, получать уведомления о заявках и интегрировать данные с CRM.