Similar presentations:
Разработка информационного сервиса по раскладу карт «Таро»
1. Производственная практика: преддипломная (технологическая (проектно-технологическая)) практика
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ
«НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Производственная практика: преддипломная (технологическая
(проектно-технологическая)) практика
Разработка информационного сервиса по раскладу карт
"Таро"
Выполнила:
студентка группы АВТ-019
Громоздина Елена Леонидовна
Руководитель:
Ст. преподаватель Харюткина София Александровна
Новосибирск – 2024
2. Актуальность работы
В современном мире многие обращаются к различнымметодам предсказания будущего. Учитывая повышенный
интерес к эзотерике, разработка сервиса по раскладу карт
Таро представляет собой актуальное и удобное решение.
Система представляет собой инструмент, позволяющий
автоматизировать процесс расклада карт Таро, что делает
его более доступным для широкого круга пользователей.
Эта система может быть использована для личного
применения или в развлекательных целях.
2
3. Постановка задачи
Целью данного исследования является создание информационнойсистемы для расклада карт Таро, которая была бы удобной и простой в
использовании для пользователей разного уровня подготовки
Для достижения цели были поставлены задачи:
•Анализ предметной области и аналогов
•Обзор программных решений для разработки ИС
•Выбор и обоснование инфраструктурных решений
•Разработка и проектирование архитектуры системы
•Реализация информационной системы
•Тестирование
•Анализ работы сервиса
3
4. Анализ аналогов
Таблица 1. Анализ аналоговTelegram-бот
Достоинства
Недостатки
«Расклады
Обеспечивает удобный и интуитивно Избыточная информация в начальном
таро
от понятный процесс получения ответов сообщении: Первоначальное сообщение
Марии»
на запросы пользователей через содержит информацию о скидках и
расклад карт Таро.
рекламе.
Бот демонстрирует гибкость в опросе Требование ввода информации о
пользователя, принимая во внимание вытянутых
картах
может
быть
различные варианты вытянутых карт. неудобным для пользователей, у
которых нет собственного набора карт
Таро.
«Мистаро
Бот имеет приветственное сообщение, Передача фотографий карт в процессе
[Расклады
которое может создать положительное расклада может создавать визуальный
таро]
первое впечатление у пользователей. шум и отвлекать пользователя от
[Таролог]»
Бот
предоставляет
удобное текстового
контекста,
усложняя
взаимодействие с пользователем, восприятие информации.
начиная с одного вопроса
4
5. Бизнес требования к информационной системе
На основании сравнения существующих аналогов былиопределены бизнес-требования:
1. Интуитивно понятный интерфейс - использовать понятный
интерфейс, без лишних элементов
2. Легкий процесс получения ответов - обеспечить быструю выдачу
результатов в удобной форме
3. Удобство и эффективность использования - сделать ИС
максимально понятным в использовании, чтобы начинающие
пользователи могли легко разобраться.
5
6. Системные требования
Таблица 2. Системные требования для различных операционных системОперацион Версия ОС
ная система
Процессор (модель
устройства)
ОЗУ
Свободное
место
Android
4.4 и выше
1 GHz (ARMv7 или
выше)
512 MB
(рекомендуется 1 GB)
50 MB
iOS
iOS 8.1 и выше
iPhone 4s и выше, iPad 2
и выше, iPod touch 5 и
выше
512 MB
(рекомендуется 1 GB)
50 MB
Windows:
Windows XP и
выше
1 GHz
512 MB
(рекомендуется 1 GB)
200 MB
macOS:
macOS 10.10 и
выше
1 GHz
512 MB
(рекомендуется 1 GB)
200 MB
Любой
1 GHz
512 MB
дистрибутив
(рекомендуется 1 GB)
Linux
Браузер: Chrome, Firefox, Opera, Safari, Edge (последние версии)
Интернет-соединение: Минимальная скорость 3G (рекомендуется Wi-Fi)
200 MB
Linux:
6
7. Выбор средств реализации
TypeScriptязык
программирования, надстроенный
над JavaScript, добавляющий
статическую типизацию.
Плюсы:
Повышает
читаемость
и
понятность кода.
Выявляет ошибки на этапе
разработки.
Компилируется
в
чистый
JavaScript.
Минусы:
Сложность
освоения
для
начинающих.
Увеличение объема кода.
Дополнительный
шаг
компиляции.
Node.js - среда выполнения
JavaScript
с
высокой
производительностью
и
масштабируемостью.
Плюсы:
Эффективная
обработка
одновременных запросов.
Использование JavaScript на
сервере и клиенте.
Богатая экосистема с открытым
исходным кодом.
Однопоточная
модель
с
обратным
вызовом
и
неблокирующей моделью вводавывода
Минусы:
Нестабильность
некоторых
модулей и библиотек.
7
GrammY.js
JavaScriptбиблиотека
для
обработки
естественного языка (NLP).
Плюсы:
Широкий спектр инструментов
для работы с текстом.
Создание
чат-ботов,
понимающих
естественный
язык.
Широкий спектр функций для
Telegram Bot API.
Оптимизация
для
производительности.
Минусы:
Ограниченная
поддержка
TypeScript (сторонние пакеты).
Менее функциональна, чем
некоторые другие библиотеки..
8. Описание принципа работы
Для удобства интерфейса был разработаналгоритм, который включает в себя
процесс
приема
вопросов,
вывод
изображений карт Таро и предоставление
подробной интерпретации расклада.
Система Таро – это колода из 78 карт,
разделенных на две группы: Старшие Арканы
(22 карты) и Младшие Арканы (56 карт).
Иллюстрации карт представлены на рисунке
1.
Бот использует 78 карт Таро и 1170
различных интерпретаций (по 15 трактовок
для
каждой
карты),
предоставляя
пользователям
возможность
получить
уникальный расклад и его трактовку в ответ
на их вопрос.
8
Рисунок. 1. Иллюстрации карт
9. Использованные модули
Модуль взаимодействия с Telegram Bot API обеспечивает связь бота сTelegram API, позволяя:
•Получать команды от пользователей
•Отправлять текстовые сообщения и фотографии.
•Работать с клавиатурами, меню и inline-результатами
Модуль обработки команд реализует функциональность команд бота
/start: приветствие пользователя и описание возможностей бота
/taro: отправка полученного расклада и изображений к нему
Модуль формирования ответа агрегирует результаты работы предыдущих
модулей и формирует ответ пользователю, включающий:
•Фотографии карт Таро в раскладе.
•Текстовые интерпретации каждой карты.
9
10. Использованные модули
Модуль генерации расклада ТароЭтот модуль определяет функцию
selectSomeCards, которая принимает
аргумент count и возвращает массив
объектов с информацией о картах. Она
использует данные из файла items.json
Функция создает копию массива
cardStore.cards, затем в цикле
выбирает случайную карту из стека,
удаляет ее из стека и добавляет в
массив hand. После этого формирует
объекты для каждой выбранной карты,
содержащие
название
(name),
случайное значение (meanings.good) и
путь к изображению карты (image),
полученный с помощью функции
imageMap
import cardStore from './items.json'
import { CardInterpreted } from "../../types";
import {imageMap} from "./imageMap";
export const selectSomeCards = (count: number)
=> {
const stack = [...cardStore.cards] as
CardInterpreted[]
const hand = []
for (let i = 0; i < count; i++) {
const index = Math.floor(Math.random() *
stack.length)
hand.push(stack.splice(index, 1)[0])
}
return hand.map((v) => ({
name: v.name,
meanings: {
good: v.meanings.at(
Math.floor(Math.random() *
v.meanings.length),
),
},
image: imageMap(v.suit, v.rank),
}))
10 }
11. Иллюстрации взаимодействия
При первом взаимодействии сИС требуется ввести команду
/start. Бот отвечает на команду
приветственном сообщением,
где рассказываются основные
характеристики и функции.
Иллюстрация первого взаимодействия
Telegram-бота с пользователем приведена
на рисунке 2.
11
Рисунок 2. Иллюстрация первого взаимодействия Telegramбота с пользователем
12. Иллюстрации взаимодействия
Для того, чтобы пользовательсмог
получить
расклад,
требуется
использовать
команду /taro и написать
интересующий вопрос. ИС
обрабатывает
запрос
пользователя,
а
затем
отправляет
в
ответ
три
изображения карт Таро и
текстовое описание каждой
карты. Иллюстрация ответа
бота на запрос пользователя
приведена на рисунке 3.
12Рисунок 3. Иллюстрация ответа бота на запрос пользователя
13. Степень готовности
На текущий момент, ИС полностью готова к использованию, всезапланированные задачи успешно выполнены.
В дальнейшем планируется усовершенствование функционала,
чтобы бот мог анализировать полученные вопросы и предоставлять
более конкретные ответы.
Также предстоит загрузить бота на сервер для обеспечения
многопользовательского использования, что позволит расширить
его доступность и эффективность в общении с пользователями.
13
14. Заключение
Разработка информационной системы для расклада карт Таропредставляет собой удобное решение в контексте повышенного
интереса к эзотерике. Интеграция бота в мессенджер обеспечивает
доступ к Таро в любое время. ИС автоматизирует процесс расклада
карт. В ходе разработки был проведен бизнес-анализ, определены
средства реализации, разработана архитектура системы, и
проведено тестирование, подтвердившее работоспособность и
эффективность чат-бота.
14
informatics
business