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 release

Git

Автоматический 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