geeksploit / mark-my-word

3 stars 3 forks source link

mark-my-word

Цель проекта:

Проект создается с цель не просто помочь людям в изучении иностранного языка, но и ускорить чтение литературы на иностранном языке. Все мы знаем множество приложений которые позволяют увеличить словарный запас путем просмотра карточек со словами и переводом к ним. Слов в языке довольно много и как скоро вы запомните достаточное колличество слов для прочтения конкретной книги, которую Вы хотите прочитать, сейчас? Наше приложение Приложение призвано дать ответ на этот вопрос, Вам для изучения будут предложены именно те слова с которыми вы столкнетесь в книге. Что позволит Вам начать читать книгу на иностранном языке с минимумом отвлечения на перевод в кротчайшие сроки.

Функционал [x] <- реализовано, [ ] <- в процессе реализации

[x] 1. Считывание книг следующих форматов:
[x] txt - plain text UTF-8;
[ ] pdf - Portable Document Format (not bitmap);
[ ] fb2 - Fiction Book / Feed book;

[x] 2. Разбирать книгу на уникальные слова (отсеивать повторения);
[x] 3. Сохранять полученные данные в БД, формируя словари под каждую обработтаную книгу;
[x] 4. Получать перевод слов из сервиса YandexTranslate и фиксировать полученые данные в БД;
[x] 5. Предоставлять пользльзователю возможность открывать ранее сформированные словари;
[x] 6. Отображение слов в виде списка или карточек;
[ ] 7. Поиск по по словарю;
[ ] 8. Сортировка слов в словаре;
[ ] 9. Загрузка изображений соответствующих словам для закрепления выученых слов с помощью зрительной памяти.

List view Card view Card view with image Parse in progress Cancel parsing Parse complete Navigation Select from lib

Архитектура и технологии.

Проект реализован на архитектуре MVP на языке Java с применением следующих технологий:

  1. Визуальное представление RecyclerView и CardView;
  2. Асинхронная обработка данных с помощью RxJava;
  3. Получение данных из сети с использованием Retrofit;
  4. База данных SQLite;
  5. ORM для работы с БД Room persistence;
  6. Работа с изображениями Glide;
  7. Внедрение зависимостей реализовано с помощью Dagger2;
  8. Работа с JSON с использованием Gson;
  9. Сохранение настроек в SharedPreferences реализованос применением JSON;

Архитектура БД:

Архитектура БД

Команда проекта:

Максим Ремыга

- Идея;

- Архитектура БД;

Артем Шумилов

- Прототипирование;

- Архитектура приложения;

- Выбор технологий;

- Написание кода;

Ильяс Султанов

- Разработка парсера книг в формате pdf;