|
1 | | -# python-template |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
| 1 | +# telemetry-api |
| 2 | +При разработке предлагается использовать Python версии не ниже 3.8, pip / poetry. |
7 | 3 |
|
8 | | -Template for the [Python 3.13.11](https://www.python.org/downloads/release/python-3110/) projects based on [Poetry](https://python-poetry.org/docs/) using [Flake8](https://flake8.pycqa.org/en/latest/), [Black](https://black.readthedocs.io/en/stable/), [pre-commit](https://pre-commit.com/), [Docker](https://docs.docker.com/) and more |
| 4 | +## Примечания: |
| 5 | +- Пункты отмеченные "\*" необязательны к выполнению |
| 6 | +- Необходимо подготовить описание реализованного сервиса |
| 7 | +- Приложить результаты нагрузочного тестирования |
| 8 | +- Формат предоставления: ссылка на репозиторий с кодом |
9 | 9 |
|
10 | | -## Quick Start: |
11 | | -1. Create a repository using this template |
12 | | -2. Clone the created repository with `git clone` |
13 | | -3. Rename the created folder |
14 | | -4. Go to the created folder |
15 | | -5. Create a local environment using the command `poetry env use PYTHON_PATH` and add it to your IDE |
16 | | -6. Rename the `python_template` folder to the project name and mark it in the IDE as `Source Root` |
17 | | -7. Configure the `pyproject.toml` file for the project |
18 | | -8. Configure the Flake8 linter and other required tools in the `setup.cfg` file |
19 | | -9. Configure the `Dockerfile` for the project |
20 | | -10. Configure and install pre-commits with the command `pre-commit install` |
21 | | -11. Add the required dependencies with the command `poetry add PACKAGE_NAME` and install them with the command `poetry install` |
| 10 | +## Описание системы: |
| 11 | +К реализации предлагается система учета и анализа данных, поступающих с условного устройства. Полученные данные привязываются к временной метке и устройству, с которого пришли данные, и сохраняются в БД. Набор данных используется для дальнейшего анализа. |
| 12 | + |
| 13 | +## Требования к системе: |
| 14 | + |
| 15 | +### Функциональные: |
| 16 | +- В системе реализован сбор статистики с устройства по его идентификатору |
| 17 | +- формат получаемой статистики - {“x”: float, “y”: float, “z”:float} |
| 18 | +- В системе реализован анализ собранной статистики с устройства за определенный период и за все время |
| 19 | +- Результатами анализа являются числовые характеристики величины: |
| 20 | + - минимальное значение |
| 21 | + - максимальное значение |
| 22 | + - количество |
| 23 | + - сумма |
| 24 | + - медиана |
| 25 | +- Система поддерживает добавление пользователей устройств* |
| 26 | +- В системе реализован функционал получения анализа показаний устройств по идентификатору пользователя*: |
| 27 | + - агрегированные результаты для всех устройств |
| 28 | + - для каждого устройства отдельно |
| 29 | + |
| 30 | +### Нефункциональные: |
| 31 | +- архитектура REST |
| 32 | +- фреймворк реализации сервиса FastApi |
| 33 | +- собранные данные хранятся в БД на выбор разработчика |
| 34 | +- аналитика показателей происходит в асинхронном режиме при помощи фреймворка Celery* |
| 35 | +- Реализовано нагрузочное тестирование через инструмент locust* |
| 36 | +- Сервис и его окружение разворачивается средствами docker + docker-compose |
0 commit comments