Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Требуется написать и поднять сервер с простейшей базой данных.

База содержит 2 НЕ связанные таблицы:

1. SerialKeysTable - список серийных ключей.

SerialKey - строка, 300 символов.

DeviceId - строка, 300 символов.

IsActive - булевое.

2. UnauthorizedTriesTable - попытки активации просроченных ключей.

SerialKey - строка, 300 символов.

DeviceId - строка, 300 символов.

DateTime - дата и время попытки авторизации

Сервер должен обрабатывать 4 простых GET запроса:

1. Создание нового ключа

Эндпоинт: /AddSerialKey?key='someKey'&pass='adminPass'

Параметры:

1. key - строка завернутая в base64 (не обязательный)

2. pass - пароль для запроса, хардкодом.

Описание: Добавляет в базу данных новую запись с указанным серийным ключем.

IsActive при создании в состоянии False.

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

Результат: 200 и указанный или сгенерированный ключ.

Возможные ошибки:

1. 400 Такой ключ уже есть.

2. 401 Не верный пароль

2. Активация серийного ключа.

Эндпоинт: /UseSerialKey?key='someKey'&deviceId='someDeviceId'

Параметры:

1. key - строка завернутая в base64

1. deviceId - строка завернутая в base64

Описание: Ищет в базе ключ. Если ключ есть, то изменяет его IsActive на True и вписывает deviceId.

Если ключа нету или IsActive уже равен True, выдать ошибку 404 и сделать записть в таблице UnauthorizedTriesTable.

Результат: 200.

Возможные ошибки:

1. 404

3. Удаление серийного ключа.

Эндпоинт: /DeleteSerialKey?key='someKey'&pass='adminPass'

Параметры:

1. key - строка завернутая в base64

2. pass - пароль для запроса, хардкодом.

Описание: Удаляет указанный ключ из базы.

Результат: 200.

Возможные ошибки:

1. 404 Ключ не найден.

2. 401 Не верный пароль.

4. Получение данных из таблицы UnauthorizedTriesTable.

Эндпоинт: /GetUnauthorizedTries?offset=0&count=100&pass='adminPass'

Параметры:

1. offset - сдвиг по записям

2. count - кол-во записей

3. pass - пароль для запроса, хардкодом.

Описание: Получить указанное кол-во записей со сдвигом

Результат: 200 и список записей.

Работать все должно на linux-хостинге. Данные хостинга будут предоставлены исполнителю.

3 года назад
DezmontDeXa
Александр 
30 летРоссия
7 лет в сервисе
Был
год назад
Выбранный исполнитель
onee__chan
Илья 
27 летРоссия
3 года в сервисе
Был
3 года назад
3 года назад
$25
1 день
Илья сработал быстро и качественно. ТЗ исполнено до мелочей. Илья сам протестировал свой код, убедился, что все работает и только после этого сдал проект. Отличная работа! Не бойтесь брать новичка, он красавчик!
Описание задачи подробное, связь оперативная, остались только положительные впечатления.
  • Похожие заказы
  • Вот к примеру текст https://prnt.sc/10wdedu, он лежит на сайте в БД в параграфе, при редактировании этого текста он уходит в другую бд и там модерируется, и чтобы его вернуть обратно я использую sql запрос mysqli_query($link,"UPDATE ...

    Базы данных1 исполнитель
    Завершен
    3 года назад
  • Необходимо создать веб интерфейс для просмотра и управления базой данных. Параметры базы - 7 небольших таблиц - В данный момент реализрвана в MS SQL (для упрощения задачи, может быть развернута где угодно) Примерный дизайн и функционал интерфейса в приложении

    Базы данных17 заявок
    Закрыт
    3 года назад
  • Есть 3 файла Exel (всё очень ужасно в приложении) необходимо на основании их сделать единую таблицу с сортировкой по ценам каждого кода города. 1. Если: 1.xlsx направление 7385 стоит 1,6 2.xlxs направление 7385 стоит ...

    Базы данных1 исполнитель
    Завершен
    3 года назад
  • Добрый день, коллеги, Есть два датасета Первый взят из государственного реестра юр лиц Австралии: https://data.gov.au/dataset/ds-dga-bc515135-4bb6-4d50-957a-3713709a76d3/details?q=business%20names Второй с сайта https://www.dnb.com/ (Пример компании: https://www.dnb.com/business-directory/company-profiles.zurich_australia_limited.4502a293c5683b6420c75907eccfc52c.html ) Мы это все дело спарсили полностью в MySQL. Задача - совместить эти две базы по названиям компаний. Названия ...

    Базы данных2 заявки
    Закрыт
    3 года назад
  • Сайт на PHP, движок самописный. На сайте есть таблица MySQL, в которой сохраняются логи, со следующей структурой: `page_id` (товар) `customer_id` (клиент) `date_time` (дата_время) `date_time_u` (дата_время_unix) 1. Необходимо создать отдельную таблицу MySQL, в которую вывести сгруппированные данные по дням: сколько уникальных клиентов ...

    Базы данных1 заявка
    Закрыт
    3 года назад
  • Имеется массив структур с информацией о студентах. В структуре в качестве подструктуры задаются фамилия, имя, отчество студентов. Их медицинские параметры задаются в виде объединения в этой же структуре. По запросу из командной строки выдать информацию ...

    Базы данных3 заявки
    Закрыт
    3 года назад
  • Дано: 1. Raspberry Pi (raspbian) 2. USB сканер штрих-кодов (2D, QR, pdf417) Необходимо: 1. Сканировать сканером в поточном режиме штрих-коды \ либо USB камера 2. Передавать в базу MS SQL в том виде в котором имеются отсканированные данные 3. В базу ...

    Базы данных1 заявка
    Закрыт
    3 года назад
  • Необходимо оптимизировать php запросы mysql, а то нагружает процессор  и очень долго загружает страницы где в таблице порядка 700 000 строк, вроде как отредактировать нужно 1 файл где ~5 запросов.

    Базы данных1 исполнитель
    Завершен
    3 года назад