"EIC MVP API" — это REST API, предназначенный для управления информацией о домах и квартирах, а также для расчета стоимости коммунальных услуг. API предоставляет функции для получения списка домов, подробной информации о конкретных домах и квартирах, записи показаний счетчиков воды и расчета стоимости коммунальных услуг.
- Установка: Клонируйте репозиторий на свой локальный компьютер.
- Настройка окружения: В корневом каталоге проекта создайте файл .env. Вы можете использовать предоставленный файл .env.example в качестве шаблона. Убедитесь, что заполнили необходимые переменные окружения своими настройками.
- Docker Compose: Перейдите в каталог проекта и выполните следующие команды, чтобы запустить приложение с использованием Docker Compose
docker compose up --build
- Доступ к приложению: После того, как Docker Compose закончит настройку
окружения, вы сможете получить доступ к документации, перейдя по
адресу http://127.0.0.1/redoc/.
Для доступа к админ-зоне пройдите по адресу http://127.0.0.1/admin/, суперпользователь создан автоматически (
логин: admin, пароль: admin
)
-
Управление домами:
- Получение списка всех домов.
- Получение подробной информации о конкретном доме, включая список квартир.
-
Управление квартирами:
- Получение списка всех квартир
- Получение информации о конкретной квартире, включая данные о счетчиках воды и их показаниях.
- Запись показаний счетчиков воды для квартиры.
-
Расчет коммунальных услуг:
- Расчет стоимости коммунальных услуг для дома на основе показаний счетчиков воды и других параметров.
- Получение расчетов стоимости коммунальных услуг для конкретного дома и месяца.
- House (Дом): содержит информацию о доме, включая город, улицу и номер дома.
- Apartment (Квартира): содержит информацию о квартире, включая номер, площадь и привязку к дому.
- WaterMeter (Счетчик воды): содержит информацию о счетчике воды, установленном в квартире.
- WaterMeterReading (Показания счетчика воды): содержит данные о показаниях счетчика воды на определенную дату.
- CalculationResult (Результат расчета): содержит результаты расчета стоимости коммунальных услуг для квартиры на определенный месяц.
-
Получение списка домов:
GET /houses/
-
Получение информации о конкретном доме:
GET /houses/{id}/
-
Получение списка квартир:
GET /spartments/
-
Получение информации о квартире:
GET /apartment_detail/?city={city}&street={street}&house_number={house_number}&apartment_number={apartment_number}
-
Запись показаний счетчиков воды:
POST /apartment_detail/
{ "readings": [ { "meter_id": 165, "value": 120.5 } ] }
-
Расчет стоимости коммунальных услуг для дома:
POST /calculate_bills/{house_id}/
{ "date": "2024-07-19" }
-
Получение расчета стоимости коммунальных услуг для дома:
GET /calculate_bills/{house_id}/?date=2024-07-19
При старте проекта были сгенерированы тестовые данные, которые позволяют попробовать рассчитать стоимость коммунальных услуг, используя примеры запросов. Например, используя Postman.
- Определите
id
дома, в котором есть показания счётчика за три месяца. Для этого используйте пункт3 из примеров запросов
и найдите счётчик под названиемкухня
. - Используя
id
этого дома, можно рассчитать стоимость коммунальных услуг за июнь и июль, используя соответствующие примеры запросов.