Задачи на сайте Briketti

10-01-2021

В основном требуется верстка. Сайт находится тут: https://briketti.ptz.biz/

1. В слайдере на каждом слайде надо добавить два блока, как указано на скрине.


Надо сверстать HTML компонент

22-12-2020

Надо сверстать такой компонент.

Это могут быть как дивы, так и табличная верстка.

Слева колонка  - это теги, метки. 

Справа - это число.

Посередине - это ряды из 21 квадратиков. 

Цвет квадратиков формируется по определенной логике. 


Cover Image

Телеграмм Бот для учета рабочих часов. PHP, MySQL

13-10-2020

При почасовой оплате за работу, работник должен отправить в бухгалтерию (или специально обученному сотруднику) свои часы за день. Или за неделю.

Я видел много вариантов отчетности об отработанных часах. Кто-то шлет электронное письмо, кто-то шлет смс-ку, а есть еще вайбер, ватсап и т.д.

Бухгалтер получает информацию от многих людей в разном формате, собирает всё это в кучу и далее уже начинает расчет заработной платы.

Обычно отсылаемая информация выглядит так:

Дата – Интервал – Итого часов – Что делал
01.01.2020 – 07:00 – 15:30 – 8  – копал яму

Бот принимает от работника данные о рабочих часах за день и сохраняет данные в базу.

Детали:

При регистрации бот запрашивает 4-х значный пин от пользователя. Пользователь вводит пин и бот сохраняет пин в базе. Этот пин будет использоваться для подтверждения команд бота.

Бот выдает пользователю команды в виде кнопок, например выбор даты, выбор интервала – это можно реализовать как кнопки, чтобы избавить пользователя от долгого ввода информации.

Текст о том, что делал работник вводится руками, но позже бот может предлагать варианты из истории.

Если разбить на части и задачи, то получается так:
1. база данных с таблицами (MySQL)
users – тут храним пользователей и их кренделя
hours – тут храним часы
works – тут храним работы
связываем все это по id

2. API для запроса и сохранения данных. (PHP)
(надо обсуждать)


Cover Image

Бот ImageEater (пожиратель картинок)

09-10-2020

Часть первая.

Бот должен принять изображение, или видео или всё, что может отправить пользователь и сложить это на хранение.

При просмотре фотографий на телефоне, можно нажать специальную кнопку и получить список соц сетей, в которые можно выбранное фото отправить. Если на телефоне установлен телеграмм, то естественно можно отправить выбранное фото телеграмм-боту.

Бот должен принять изображение, или видео или всё, что может отправить пользователь и сложить это на хранение.

Как хранить входящие данные?
Есть выделенный сервер.

Часть вторая Как хранить входящие данные?


Cover Image

Что-то странное сегодня на графике

16-09-2020

Скакнула нагрузка на процессор. Интересно, с чего бы это…

Надо бы проверить позже.


Cover Image

Давайте построим API

28-09-2019

PHP API to MySQL Database – это по научному. Если простыми словами рассказать, то придется прибегнуть к аналогиям.

Данные / Контент

Нам нужно работать с данными. Запрашивать их, изменять, удалять. Тексты, картинки, даты, лайки, комментарии, посты, статьи, видео, анимации – все это контент. Контент – это и есть данные.

Функционал

GET – это запрос данных, когда мы ничего не хотим сделать с ними, только их посмотреть.

PUT – Это добавление данных, когда мы хотим сохранить данные.

DELETE – это удаление данных

Аналогии

Мы стоим перед стойкой ИНФОРМАЦИЯ в аэропорту, мы только что приземлились и нам надо уехать дальше.
За стойкой симпотичная девушка, которая готова выслушать вас. Вы делаете вдох, форулируя вопрос, а пока вы это делаете, девушка видит ваш интерес и предлагает помощь. Она задает вопрос “Чем могу помочь?”

Все описанное выше – это ваш запрос (готовность задать вопрос) к API (девушка за стойкой). Что-то типа

/api/start – это обращение на сервер, это ваш запрос. И это GET запрос. Мы так настроили API, что при таком запросе, мы принимаем только GET.

API (девушка) получила этот запрос и сразу на него ответила:

“Чем могу помочь?” – это ответ сервера, где находится логика, которая определила запрос и сопоставила ему ответ, и отправила ответ. Сервер отвечает в формате JSON. Примерно так будет выглядеть ответ сервера:

{
  "message": "Чем могу помочь?"
}

… где мы остановились… а, точно.. И так она задала вопрос и вам нужно ответить. Вас интересует трансфер из аэропорта в другой город, пусть это будет Хельсинки. Вы задаете вопрос: “Как добраться до города Хельсинки?”

Понятно, что девушка вас понимает, но как быть в случае API? А все просто, мы должны отправить GET запрос такого вида:

/api/transfer/helsinki 

Но, позвольте, откуда мы знаем как должен выглядеть запрос? Только девушка (API) может нам сказать. Причем, пусть она предлагает варианты сразу, широко улыбаясь. Примерно так:

“Добрый день, мы предлагаем: трансфер, заказ такси, комнату в отеле.”

{
  "message": {
    "welcome": "Добрый день, мы предлагаем",
    "трансфер": "/api/transfer",
    "такси": "/api/booktaxi",
    "комнату в отеле": "/api/bookroom"
  }
}

Вот теперь порядок. Когда мы запросим /api/start мы получим и приветствие, и возможность выбрать направление.

Теперь когда мы знаем, что про трансфер мы можем узнать, если сделаем запрос /api/transfer Но, что там про город..? А город пусть нам подскажет девушка, и опять сразу же как только я спросил про трансфер. Иными словами, при GET запросе /api/transfer, сервер нам ответит с вариантами.

{
  "message": {
    "welcome": "Добрый день, мы предлагаем",
    "трансфер": "/api/transfer",
    "такси": "/api/booktaxi",
    "комнату в отеле": "/api/bookroom"
  }
}

Понимаете?

Мы запрашиваем данные, обращаясь на API сервера и получаем в ответ новые варианты запросов.

Сервер

Продолжение следует… Есть вопросы? Пишите комменты..