part of php framework
- Языки: PHP (API), Lua (расширение функциональности Tarantool).
- Архитектура: ADR (разделение на Actions, Domains, Responder).
- База данных: Tarantool (NoSQL + Lua для гибридной логики).
- Тестирование: Интеграционные тесты через HTTP-запросы.
Написано с помощью: PHP (Laravel/Symfony-like подход)
Описание:
- Actions
- Папка
Actionsсодержит обработчики запросов для каждой сущности - Реализованы CRUD-операции для сущностей
event,task,userчерез RESTful API. - Domains:
- Папка
Domainsинкапсулирует бизнес-логику:EventDomain: Управление событиями, задачами и их валидацией.UserDomain: Работа с пользователями и их настройками.
- Папка
- Responder:
- Маршрутизация (
routes.php) определяет, как запросы сопоставляются с действиями (Actions).
- Маршрутизация (
Написана с помощью: Tarantool (мультимодельная NoSQL СУБД) + Lua
Описание:
- Файл
Db.php:- Реализует низкоуровневое взаимодействие с Tarantool:
- Управление спейсами:
makeSpace,truncate,drop,setSpace. - CRUD-операции:
insert,select,update,delete,upsert. - Расширенные методы:
evaluate(исполнение Lua-кода),indexSelect(поиск по индексам).
- Lua-интеграция:
- Использование
evaluateдля выполнения Lua-скриптов внутри Tarantool. - Конвертация данных между PHP и Lua (
convertArrayToLuaStr).
- Использование
Локальные HTTP-тесты:
Тип: Интеграционные тесты API.
Инструмент: Файлы .http (формат Postman).
Покрытие:
- CRUD для событий (
/event/create,/event/delete,/event/update). - Управление задачами (
/task/create,/task/delete). - Работа с пользователями (
/user/create).
[Клиент]
→ [API (routes.php)]
→ [Action]
→ [Domain (бизнес-логика)]
→ [Db.php (Tarantool)]
→ [Lua-скрипты (в Tarantool)]