Skip to content

Универсальный помощник для викторин. Задача моего приложение находить вероятности правильного ответа на заданный вопрос c помощью интернета.

Notifications You must be signed in to change notification settings

Delphington/Dumalka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🏄‍♂️ Dumalka

Универсальный помощник для викторин. Задача моего приложение находить вероятности правильного ответа на заданный вопрос c помощью интернета.

Презентация проекта

Обзор функциональности приложения

Демонстрация работы приложения

🥩 Скачать можно здесь:

HashStore

GitHub

🔥 1. Функционал приложения

✅ 1.1	DrawerActivity
При входе в приложение пользователь видит главный экран. Свайп вправо открывает меню:
•	Поисковые Системы. Пользователь может подобрать для себя подходящий набор поисковых систем 
•	Авторам. В приложении разработана обратная связь, что позволяет пользователю, не выходя из приложения, отправить Фидбек разработчику.
•	FAQ. Здесь размещаются правила и часто задаваемые вопросы. 
 

 ✅ 1.2	Главное меню (MainActivity)
 	1	Здесь созданы 5 главных полей для ввода. Одно большое для вопроса, остальные 4 для ввода вариантов ответов. Вводить информацию можно как с помощью выпадающей клавиатуры, так и с помощью голоса, активировав микрофон. Данная функция позволяет ускорить ввод данных пользователя, что не мало важно для оперативной работы.
 	2	Далее, пользователь нажимает кнопку «отправить». Dumalka в течение 5-10 секунд подсветит наиболее вероятно правильный ответ зеленым цветом и покажет его вероятность. 
 	3	Если пользователь обладает правильным ответом, он может зафиксировать его в приложении, нажав на цифрах вероятности. Это отметит вопрос в истории как верный и изменит цвет подсветки на синий
 	4	Две кнопки по бокам номера вопроса обеспечивают пользователю переключение между вопросами в текущей игре. 
 	5	Нижние две пары кнопок:
      •	Новый вопрос – создает новый вопрос в текущей игре. 
      •	Отправить – отправляет вопрос на поиск в интернете. 
      •	Новая игра – создает новую игру в списке история. 
      •	История – переводит в Активность History.
 

 ✅ 1.3	История (HistoryActivity)
	 1	Переходя в историю, мы видим небольшую вкладку «Избранное», где размещаются вопросы, которые пользователь особо отметил для быстрого доступа.
	 2	Ниже этой вкладки представлен список игр. 
	 3	Каждая игра имеет: название, статистику (всего/правильно/неправильно вопросов), кнопку для удаления игры и по свайпу влево функцию для изменения название игры.

 ✅ 1.4	Игры (GameActivity)
 Переходя в любую игру, мы попадаем на activity game. Игра это:
 	1	Список вопросов.
 	2	Напротив некоторых вопросов справа отображается галочка, которая обозначает, что пользователь отметил этот вопрос как «правильный».
 	3	По свайпу влево реализованы 2 функции: добавление вопроса в избранное и удаление вопроса из списка.
 	4	В правом верхнем углу размещается поле поиска, которое позволяет найти интересующий вопрос среди выбранной игры. 

 ✅ 1.5 	Избранное (FavoriteActivity)
 В активности «Избранное», расположен аналогичный функционал по работе с вопросами игры, но работает со сквозным списком вопросов всех игр, которые пользователь отметил, как «фавориты»:


 ✅ 1.6 	Темная Тема
 Как и в любом современное приложении, Dumalka имеет поддержку нескольких интерфейсных тем. На данный момент в ней реализованы две темы: светлая и темная. 

🔥 2. Техническая часть

1. Среда разработки: Android Studio.
2. Локальная база данных: SQLite. Был довольно трудный выбор между локальной и внешней базами данных. Я решил использовать локальную, чтобы у пользователя была возможность просмотреть вопросы в режиме off-line.
3. Модель базы данных состоит из 3 таблица (диаграмма ниже).

Картинка бд

 	4. Сбор статистической аналитики работы пользователя и работы самого приложения осуществляется при помощи Firebase.
	5. Поисковый бот для заданного вопроса выбирает правильный ответ из предложенных вариантов. Правильный ответом бот считает тот ответ, который наиболее релевантен поисковому результату для предложенного вопроса. Релевантность оценивается по количеству вхождений слов во фразе ответов в результирующем тексте от поисковых систем. Ниже представлена схема работы алгоритма: 

Картинка

Для повышения качества результата для поиска используются несколько поисковых систем: Google, Yandex, Yahoo, Swisscows, Excite, Aol.

About

Универсальный помощник для викторин. Задача моего приложение находить вероятности правильного ответа на заданный вопрос c помощью интернета.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages