В основном требуется верстка. Сайт находится тут: https://briketti.ptz.biz/
1. В слайдере на каждом слайде надо добавить два блока, как указано на скрине.
Надо сверстать такой компонент.
Это могут быть как дивы, так и табличная верстка.
Слева колонка - это теги, метки.
Справа - это число.
Посередине - это ряды из 21 квадратиков.
Цвет квадратиков формируется по определенной логике.
При почасовой оплате за работу, работник должен отправить в бухгалтерию (или специально обученному сотруднику) свои часы за день. Или за неделю.
Я видел много вариантов отчетности об отработанных часах. Кто-то шлет электронное письмо, кто-то шлет смс-ку, а есть еще вайбер, ватсап и т.д.
Бухгалтер получает информацию от многих людей в разном формате, собирает всё это в кучу и далее уже начинает расчет заработной платы.
Обычно отсылаемая информация выглядит так:
Дата – Интервал – Итого часов – Что делал
01.01.2020 – 07:00 – 15:30 – 8 – копал яму
Бот принимает от работника данные о рабочих часах за день и сохраняет данные в базу.
Детали:
При регистрации бот запрашивает 4-х значный пин от пользователя. Пользователь вводит пин и бот сохраняет пин в базе. Этот пин будет использоваться для подтверждения команд бота.
Бот выдает пользователю команды в виде кнопок, например выбор даты, выбор интервала – это можно реализовать как кнопки, чтобы избавить пользователя от долгого ввода информации.
Текст о том, что делал работник вводится руками, но позже бот может предлагать варианты из истории.
Если разбить на части и задачи, то получается так:
1. база данных с таблицами (MySQL)
users – тут храним пользователей и их кренделя
hours – тут храним часы
works – тут храним работы
связываем все это по id
2. API для запроса и сохранения данных. (PHP)
(надо обсуждать)
Часть первая.
Бот должен принять изображение, или видео или всё, что может отправить пользователь и сложить это на хранение.
При просмотре фотографий на телефоне, можно нажать специальную кнопку и получить список соц сетей, в которые можно выбранное фото отправить. Если на телефоне установлен телеграмм, то естественно можно отправить выбранное фото телеграмм-боту.
Бот должен принять изображение, или видео или всё, что может отправить пользователь и сложить это на хранение.
Как хранить входящие данные?
Есть выделенный сервер.
Часть вторая Как хранить входящие данные?
Скакнула нагрузка на процессор. Интересно, с чего бы это…
Надо бы проверить позже.
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 сервера и получаем в ответ новые варианты запросов.
Сервер
Продолжение следует… Есть вопросы? Пишите комменты..