Бюджет:
4000 руб
API.
1. имеет функциб создания базы следующей структуры
CREATE TABLE IF NOT EXISTS `mydb`.`RecievedFeeds` (
`id` INT NOT NULL AUTO_INCREMENT,
`src_id` INT NULL,
`url` CHAR NULL,
`timestamp_create` DATETIME NULL,
`timestamp_feed` DATETIME NULL,
`name` VARCHAR NULL,
`text` BLOB NULL,
`uploaded_tar` VARCHAR NULL,
UNIQUE INDEX `DR_id_UNIQUE` (`id` ASC),
UNIQUE INDEX `url_UNIQUE` (`url` ASC),
PRIMARY KEY (`id`),
INDEX `fk_RecievedFeeds_1_idx` (`src_id` ASC),
CONSTRAINT `fk_RecievedFeeds_1`
FOREIGN KEY (`src_id`)
REFERENCES `mydb`.`Sources` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_bin
CREATE TABLE IF NOT EXISTS `mydb`.`Sources` (
`id` INT NOT NULL AUTO_INCREMENT,
`source` VARCHAR NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_bin
CREATE TABLE IF NOT EXISTS `mydb`.`checks` (
`id` INT NOT NULL AUTO_INCREMENT,
`feed_id` INT NOT NULL,
`status` INT NULL,
PRIMARY KEY (`id`, `feed_id`),
CONSTRAINT `fk_checks_1`
FOREIGN KEY (`feed_id`)
REFERENCES `mydb`.`RecievedFeeds` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_bin
2. Функция добавления информации.
При POST к данной функции с параметрами src,url,timestamp_create,name, text, tar (проверка обязательна) создается запись в таблице (если такой src есть в таблице source, то завязать, иначе добавть новый src в таблицу и завязать, в поле timestamp_feed заносится текущее время, в поле тар лежит tar архив. При необходимости может быть в base64 (указать). все данные , кроме tar заносятся в таблицу, tar ложит в папку ./data/$DATE/uniqname.tar. $date формата YYYY-MM-DD. Имя содержи изначально name , но является уник .
uploaded_tar.
3. API для поиска.
Поддерживает комбинацию (и/или) всех полей базы.
Также обязательный флаги queryFormat, resultFormat.
Флаги реализуют логику результата хочу получить уникальные значения конкретного поля (наприме queryFormat = src, resultFormat = uniq выдаст уникальные значения это поля ), набора конкретных полей, или все поля запроса).