GithubHelp home page GithubHelp logo

imwisagist / tg_agregator Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 2.07 MB

The asynchronous bot accepts the request, converts it into an aggregation request and accesses MongoDB, returns the result to the chat.

Python 89.33% Dockerfile 10.67%
mongodb python aiogram poetry pymongo fastapi docker-compose

tg_agregator's Introduction

Tg_agregator

Clone project and enter in the infra folder:

git clone https://github.com/Imwisagist/Test_for_Reliable_Loyal_Technologies.git && cd Test_for_Reliable_Loyal_Technologies/infra

Create a .env file in infra folder and enter the token of your telegram bot into it:

nano .env
TELEGRAM_BOT_TOKEN = <TOKEN>

Run docker-compose:

docker-compose up -d

Fill in the database:

winpty docker exec -it fastapi_backend bash -c "poetry run python load_data.py"

Go to the Telegram, write to your bot and enjoy!)

How it looks:

screenshot

Test task description:

Click to show Ваш алгоритм должен принимать на вход: Дату и время старта агрегации в ISO формате (далее dt_from) Дату и время окончания агрегации в ISO формате (далее dt_upto) Тип агрегации (далее group_type). Типы агрегации могут быть следующие: hour, day, month. То есть группировка всех данных за час, день, неделю, месяц.

Пример входа: {"dt_from": "2022-09-01T00:00:00", "dt_upto": "2022-12-31T23:59:00", "group_type": "month"}

Комментарий к входным данным: вам необходимо агрегировать выплаты с 1 сентября 2022 года по 31 декабря 2022 года, тип агрегации по месяцу

На выходе ваш алгоритм формирует ответ содержащий: Агрегированный массив данных (далее dataset) Подписи к значениям агрегированного массива данных в ISO формате (далее labels)

Пример ответа: {"dataset": [5906586, 5515874, 5889803, 6092634], "labels": ["2022-09-01T00:00:00", "2022-10-01T00:00:00", "2022-11-01T00:00:00", "2022-12-01T00:00:00"]}

После разработки алгоритма агрегации, вам необходимо создать телеграм бота, который будет принимать от пользователей текстовые сообщения содержащие JSON с входными данными и отдавать агрегированные данные в ответ. Посмотрите @rlt_testtaskexample_bot - в таком формате должен работать и ваш бот.

tg_agregator's People

Contributors

imwisagist avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.