You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+20-28Lines changed: 20 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,5 @@
1
1
# «jsonDB» - JSON база данных
2
-
JSON база данных с открытым исходным кодом. Написана на PHP. Распространяется по лицензии [MIT](https://opensource.org/licenses/MIT). Подключается через Composer как обычный пакет PHP, после подключения сама настраивается за несколько секунд. Имеет свой RESTful API интерфейс работающий по стандарту обмена информацией сервер-сервер «[APIS-2018](https://github.com/pllano/APIS-2018)», что позволяет использовать ее с любым другим языком программирования. «API json DB» это продвинутый менеджер json файлов с возможностью кеширования популярных запросов, шифрования файлов db, проверкой валидности файлов и очередью на запись при блокировке таблиц (файлов db) на запись другими процессами. Основанием для «API json DB» мы выбрали прекрасную работу [Greg0/Lazer-Database](https://github.com/Greg0/Lazer-Database/). Мы полностью изменили структуру оригинала и добавили: шифрование, API роутинг, кеширование, проверку валидности, очередь на запись и другой удобный функционал.
3
-
4
-
### Демо база данных [`https://xti.com.ua/json-db/`](https://xti.com.ua/json-db/) через RESTful API интерфейс
5
-
Для удобства мы отключили авторизацию через `public_key`
Демо сайт работающий на «jsonDB» - https://xti.com.ua/
2
+
JSON база данных с открытым исходным кодом. Написана на PHP. Распространяется по лицензии [MIT](https://opensource.org/licenses/MIT). Подключается через Composer как обычный пакет PHP, после подключения сама настраивается за несколько секунд. Имеет свой RESTful API интерфейс работающий по стандарту обмена информацией сервер-сервер «[APIS-2018](https://github.com/ruslan-avantis/APIS-2018)», что позволяет использовать ее с любым другим языком программирования. «API json DB» это продвинутый менеджер json файлов с возможностью кеширования популярных запросов, шифрования файлов db, проверкой валидности файлов и очередью на запись при блокировке таблиц (файлов db) на запись другими процессами. Основанием для «API json DB» мы выбрали прекрасную работу [Greg0/Lazer-Database](https://github.com/Greg0/Lazer-Database/). Мы полностью изменили структуру оригинала и добавили: шифрование, API роутинг, кеширование, проверку валидности, очередь на запись и другой удобный функционал.
10
3
11
4
## Старт за несколько минут
12
5
Подключить с помощью [Composer](https://getcomposer.org/)
@@ -15,13 +8,13 @@ JSON база данных с открытым исходным кодом. На
15
8
"pllano/json-db": "^1.0.5"
16
9
}
17
10
```
18
-
Подключить с помощью [AutoRequire](https://github.com/pllano/auto-require)
11
+
Подключить с помощью [AutoRequire](https://github.com/ruslan-avantis/auto-require)
«API json DB» имеет свой RESTfull API роутинг для cURL запросов который написан на PHP с использованием [Micro Framework Slim](https://github.com/slimphp), что позволяет использовать «API json DB» с любым другим языком программирования. Для унификации обмена данными и структуры базы данных используется наш собственный стандарт [APIS-2018](https://github.com/pllano/APIS-2018/).
32
+
«API json DB» имеет свой RESTfull API роутинг для cURL запросов который написан на PHP с использованием [Micro Framework Slim](https://github.com/slimphp), что позволяет использовать «API json DB» с любым другим языком программирования. Для унификации обмена данными и структуры базы данных используется наш собственный стандарт [APIS-2018](https://github.com/ruslan-avantis/APIS-2018/).
40
33
### RESTfull API состоит всего из двух файлов:
41
-
-[index.php](https://github.com/pllano/json-db/blob/master/api/index.php) и [.htaccess](https://github.com/pllano/json-db/blob/master/api/.htaccess)
34
+
-[index.php](https://github.com/ruslan-avantis/json-db/blob/master/api/index.php) и [.htaccess](https://github.com/ruslan-avantis/json-db/blob/master/api/.htaccess)
42
35
### Для установки `RESTful API` выполните следующие действия:
43
-
- В файле [index.php](https://github.com/pllano/json-db/blob/master/api/index.php) укажите директорию где хранится база, например `/www/_db_/` или `__DIR__ . '/../../_db_/'`.
44
-
- Перенесите файлы [index.php](https://github.com/pllano/json-db/blob/master/api/index.php) и [.htaccess](https://github.com/pllano/json-db/blob/master/api/.htaccess) в директорию доступную через URL. Например: `https://example.com/_12345_/`
36
+
- В файле [index.php](https://github.com/ruslan-avantis/json-db/blob/master/api/index.php) укажите директорию где хранится база, например `/www/_db_/` или `__DIR__ . '/../../_db_/'`.
37
+
- Перенесите файлы [index.php](https://github.com/ruslan-avantis/json-db/blob/master/api/index.php) и [.htaccess](https://github.com/ruslan-avantis/json-db/blob/master/api/.htaccess) в директорию доступную через URL. Например: `https://example.com/_12345_/`
45
38
- Запустите API перейдя по ссылке `https://example.com/_12345_/`
46
39
- Если база работает Вы увидите следующий результат:
47
40
```json
@@ -61,19 +54,19 @@ JSON база данных с открытым исходным кодом. На
61
54
- Таблицу для очереди запросов `queue.data.json` и `queue.config.json`
62
55
- Директории: `cached``core``log`
63
56
- В директории `core` сгенерирует файл с ключем для http запросов key_db.txt если его там еще нет.
64
-
- В директорию `core` скачает этот [db.json](https://github.com/pllano/db.json/blob/master/db.json) файл структуры если его там еще нет.
57
+
- В директорию `core` скачает этот [db.json](https://github.com/ruslan-avantis/db.json/blob/master/db.json) файл структуры если его там еще нет.
65
58
### Автоматическое создание ресурсов
66
-
База автоматически создаст все ресурсы и связи указанные в файле [db.json](https://github.com/pllano/json-db/blob/master/_db_/core/db.json). Для создания индивидуальной конфигурации ресурсов отредактируйте файл [db.json](https://github.com/pllano/json-db/blob/master/_db_/core/db.json) и перед запуском скопируйте его в директорию `/_db_/core/`.
59
+
База автоматически создаст все ресурсы и связи указанные в файле [db.json](https://github.com/ruslan-avantis/json-db/blob/master/_db_/core/db.json). Для создания индивидуальной конфигурации ресурсов отредактируйте файл [db.json](https://github.com/ruslan-avantis/json-db/blob/master/_db_/core/db.json) и перед запуском скопируйте его в директорию `/_db_/core/`.
67
60
### Поддерживаемые типы данных в db.json
68
61
-`boolean` — Логический тип `true` или `false`
69
62
-`integer` — Целое число
70
63
-`double` — Число с плавающей точкой
71
64
-`string` — Строка
72
65
### Структура базы данных для интернет-магазина
73
-
Структура базы данных [db.json](https://github.com/pllano/db.json) выведена в отдельный репозиторий
66
+
Структура базы данных [db.json](https://github.com/ruslan-avantis/db.json) выведена в отдельный репозиторий
-`{api_dir}` - папка в которой лежит [index.php](https://github.com/pllano/json-db/blob/master/api/index.php)
69
+
-`{api_dir}` - папка в которой лежит [index.php](https://github.com/ruslan-avantis/json-db/blob/master/api/index.php)
77
70
-`{resource}` - название ресурса к которому обращаемся. Например price или user.
78
71
-`{id}` - уникальный индефикатор
79
72
-`{param}` - праметры запроса
@@ -155,13 +148,13 @@ if (isset($response["headers"]["code"])) {
155
148
156
149
### В теле ответа RESTful API jsonDB вернет код состояния HTTP, статус и описание.
157
150
158
-
[Коды состояния HTTP](https://github.com/pllano/APIS-2018/tree/master/http-codes)
151
+
[Коды состояния HTTP](https://github.com/ruslan-avantis/APIS-2018/tree/master/http-codes)
159
152
160
153
## Безопасность
161
-
[Советы по увеличению безопасности API json DB](https://github.com/pllano/json-db/blob/master/doc/security.md)
154
+
[Советы по увеличению безопасности API json DB](https://github.com/ruslan-avantis/json-db/blob/master/doc/security.md)
162
155
163
156
## Прямое подключение к DB
164
-
Если вам не нужен API роутинг Вы можете работать с базой данных напрямую без REST API интерфейса - [Документация - работа с DB напрямую](https://github.com/pllano/json-db/blob/master/doc/db.md) или если вам не нужны (кеширование, шифрование) использовать оригинальный пакет [Lazer-Database](https://github.com/Greg0/Lazer-Database/).
157
+
Если вам не нужен API роутинг Вы можете работать с базой данных напрямую без REST API интерфейса - [Документация - работа с DB напрямую](https://github.com/ruslan-avantis/json-db/blob/master/doc/db.md) или если вам не нужны (кеширование, шифрование) использовать оригинальный пакет [Lazer-Database](https://github.com/Greg0/Lazer-Database/).
Примечание: Если вы будете пользоваться RESTful API роутингом для cURL запросов, вам не нужно выполнять запуск базы, роутер [index.php](https://github.com/pllano/json-db/blob/master/api/index.php) сделает все сам. Вам достаточно установить пакет с помощью Composer и выпонить дейсвия с настройкой API роутинга описаны выше.
186
+
Примечание: Если вы будете пользоваться RESTful API роутингом для cURL запросов, вам не нужно выполнять запуск базы, роутер [index.php](https://github.com/ruslan-avantis/json-db/blob/master/api/index.php) сделает все сам. Вам достаточно установить пакет с помощью Composer и выпонить дейсвия с настройкой API роутинга описаны выше.
0 commit comments