
1
Модификаторы
2
Все приложения перешли на использование плоского меню
3
Отчеты в приложениях строятся на чеках
5
Нумерация заказов локально и удаленно
4
Визуализация очереди печати на кассе
6
Валидация кассовой смены
7
Интеграция с UDS лояльностью
8
Чаевые НетМонет
9
Новая интеграция Evotor
11
Приложение call-центра
10
Processing Statuses
12
MonoRepository
Build, Deploy, Tests



Модификаторы
Our Services
We offer a variety of services and plans tailored to business needs of any kind and of any size.
- Поддержка в большинстве приложений
- Количество модификаторов
- Поддержка модификаторов заменителей
- Акции начали работать с модификаторами
Старое меню
- Избыточность данных (данные о продукте повторяются)
- Комплектация для меню грузиться отдельно
- Медленный поиск по меню. Сложность поиска от O(n)
- Время ответа от бэка до 3 минут
Новое меню
- Позволила избавиться от избыточности данных
- Комплектация и модификаторы включены в меню
- Нормализация состояния меню. Сложность поиска от O(1)
- Время ответа от бэка до 8 секунд
Отчеты на кассе


Очередь печати

Очередь печати

Номера заказов

Сервис Заказов

Валидация кассовой смены

Валидация кассовой смены

Интеграция с UDS

Интеграция с UDS

Чаевые


Чаевые от "НетМонет"

Чаевые от "НетМонет"

Новая интеграция с Evotor
- Позволила исправить баги в коде
- Позволило обновиться до ReactNaive 63
- Позволило использовать новое Kotlin SDK
- Позволило использовать новые функции не доступные в старом, не поддерживаемом RN SDK Evotor
Processing Status

Processing Status

Processing Status

Приложение Call-Центр

Приложение Call-Центр

Чистая Архитектура

Чистая Архитектура

Почему чистая Архитектура?


export interface IMoneyProps {
value: number;
currency?: Currency;
}
export type MoneyDTO = {
value: number;
currency: CurrencyDTO;
};
export class Money extends ValueObject<IMoneyProps> {
get value() {
return this.props.value;
}
get currency() {
return this.props.currency;
}
public static create(value: number, currency?: Currency): Result<Money> {
const safeValue = new Decimal(value || 0).abs().toDecimalPlaces(2);
return Result.ok<Money>(
new Money({
value: safeValue.toNumber(),
currency: currency || Currency.create(CurrencyCodes.RUB)
})
);
}
}
Пример кода доменной области
applications/
call-center/
cashbox-mobile/
cashbox-web/
robot-mobile/
robot-web/
waiter-web/
packages/
dates/
domain-types/
domain/
dooglys-connect-android/
dooglys-connect-evotor/
eslint-config/
logger/
release/
services/
kits/
messaging/
order/
payment/
specials/
src/
CHANGELOG.md
package.json
package.json
Monorepo & Yarn Workspaces
{
"name": "@dooglys/project",
"version": "1.0.0",
"version-code": 12,
"private": true,
"scripts": {
"clean": "rm -rf ./build",
"build": "yarn clean && webpack --mode=production",
"build:dev": "yarn clean && webpack --mode=development",
"start": "node ./build ",
"start:dev": "webpack --watch --mode=development --inspect=0.0.0.0 "
},
"dependencies": {
"@dooglys/dates": "1.0.0",
"@dooglys/schemes": "^1.0.4",
"@dooglys/domain": "1.5.2",
"@dooglys/logger": "1.0.2",
},
"devDependencies": {
"@dooglys/eslint-config": "1.0.0",
"@dooglys/release": "1.0.0",
}
}
Новый проект в Monorepo
Релиз проекта в Monorepo
yarn releaseGit

Автоматический Changelog

Сборка релиза

Тесты

Покрытие тестами

Планы
- Продолжать выносить код в отдельные пакеты, покрывать его тестами, переписывать на TypeScript
- Внедрить CouchDB
- Развивать и внедрять доменное ядро

Спасибо за внимание!
SOLO
Price $149 /mo
One project
Two designs
7-day turnaround
Premium support
PRO
Price $299 /mo
Up to three projects
Three designs/project
7-day turnaround
Premium support
NEW
PREMIUM
Price $599 /mo
Up to five projects
Five designs/project
3-day turnaround
24/7 support
Services & Pricing
Отчет 2021
By AndreyDyrkov
Отчет 2021
- 56