Телеграм бот, который позволяет работать с ссылками - добавление, получение, удаление. Получение ссылок реализованно с помощью предоставления пользователем уникального кода (UUID) записи.
Решение подготовлено в рамках тестового задания. Исходные требования задания доступны по ссылке.
Демонстрационного бота можно найти здесь
Главная структура представлена следующим образом:
/src
├── bot - Модуль и точка входа в бота
│ └── scenes - Сцены обработчики логики
├── interfaces - Интерфейсы
├── middlewares - Middlewares
└── repository - Репозиторий БД
├── entities - Все сущности
└── url - Модуль сущности URL (CRUD по записям URL)
Сцены включают в себя все операции CRUD по общей бизнес логике, а так же общую сцену для роутинга
/scenes
├── add.scene.ts - Обработка логики добавления ссылки пользователем
├── delete.scene.ts - Обработка логики удаления ссылки пользователем
├── get.scene.ts - Обработка логики получения одной ссылки пользователем
├── list.scene.ts - Обработка логики получения постраничного списка ссылок
└── start.scene.ts - Главная сцена
Установка зависимостей
$ yarn install
Создать файл с переменными окружение и их заполнение
cp .env-example .env
Запуск приложения в режимах разработки
# development
$ yarn run start
# watch mode
$ yarn run start:dev
# watch & debug mode
$ yarn run start:debug