Skip to content

DeMoNicKer-V/SeriesTracker

Repository files navigation

icon
Series Tracker | Minimal application for tracking watched series

Зачем?ФункциональностьСкриншотыИспользованиеRoadMapАрхитектураЛицензия

Зачем?

Как и многие из нас, я люблю смотреть сериалы (в основном аниме), но по разным причинам мне приходится смотреть их на разных сайтах и я не очень хочу заводить аккаунт на каждом из них, чтобы отслеживать свой прогресс.

Кроме того, у меня часто бывают длительные перерывы между просмотром чего-либо и я забываю, на каких сериях остановился.

Чтобы как-то решить эту проблему и перестать делать заметки в своем приложении для заметок, я разработал простое приложение для Android, позволяющее отслеживать просмотренные эпизоды определенного сериала.

Также мне хотелось более подробно познакомиться с .NET MAUI и мобильной разработкой в целом.

Функциональность

Общее

  • Темная/светлая/системная темы;
  • Минималистичный и современный дизайн.

Сериалы

  • Добавление сериалов и отслеживание просмотренных эпизодов;
  • Быстрый доступ к редактироваю/удалению;
  • Пометка сериалов как "избранное";
  • Поиск и фильтр по избранному;
  • Раздельные экраны для активных и просмотренных сериалов;
  • Возможность добавлять сериалы с сайта Shikimori.One.

Хранение данных

  • Экспорт/импорт данных в формате .json;
  • Все данные хранятся локально на устройстве;

Дополнительные функции

В проекте реализованы нижеперечисленные дополнительные функции. Для их использования ознакомьтесь с разделом Использование.

  • Авто-поиск изображения для сериала;
  • Возможность добавлять сериалы с сайта MyAnimeList;
  • Хранение данных в облачном сервисе FireBase;
  • Синхронизация между локальным и облачным хранилищами.

Скриншоты

Нажмите, что открыть скриншоты

screenshot screenshot screenshot

screenshot screenshot screenshot

screenshot

Использование

В этом разделе поясняется, как использовать Дополнительные функции приложения, описанные в Функциональность.
Если дополнительные функции вам не нужны, пожалуйста, ознакомьтесь с разделом Releases данного репозитория. В нем присутствуют .apk файл и исходный код приложения, в котором Дополнительные функции отсутствуют. Также в репозитории присутствует дополнительная ветвь Restricted с вырезанными функциями.

Для использования всех функций приложения необходимо сделать следующее:

  1. В приложении реализовано хранение данных в облачном сервисе Google FireBase. Для доступа к этой функции вам необходимо создать проект в Google Firebase console, после чего использовать полученные ссылку на проект и Database Secret Key в App.xaml.cs следующим образом:

    
    FirebaseSettings(appSecret: "your_database_secret", baseUrl: "your_projecturl");
    
    
  2. В приложение используются API сайтов Shikimori.One и MyAnimeList для получения данных. Shikimori API не требует любого вида аутентификации, так как используется GraphQL. MyAnimeList API требует базовой аутентификации приложения, для этого требуется создать MAL ID, после чего использовать его в MALBase.cs следующим образом:

    
    _httpClient.DefaultRequestHeaders.Add("X-MAL-CLIENT-ID", "your_mal_id");
    
    
  3. В приложении реализована функция подбора изображения добавляемого сериала по его названию посредством Google Custom Search API. Чтобы использовать данную функцию необходимо создать Программируемую поисковую систему и проект в Google Console Cloud, после чего использовать идентификатор поисковой системы и ApiKey проекта в файле GoogleCustomSearchApiService.cs следующим образом:

    var searchService = new Google.Apis.CustomSearchAPI.v1.CustomSearchAPIService(new BaseClientService.Initializer
              {
                  ApiKey = "your_apiKey"
              });
    
    
    
     var listRequest = searchService.Cse.List();
     listRequest.Cx = "your_search_engine_id";
    
    

RoadMap

  • Так как с момента релиза приложения я им активно пользуюсь, то первоочередной задачей является исправление всяческих ошибок и багов, если таковые будут найдены в процессе использования.

Архитектура

Приложение создано на языке C#.

Приложение использует архитектуру с шаблоном проектирования MVVM и разделено на 3 основных уровня.

Лицензия

Series Tracker распространяется на условиях лицензии Apache (версия 2.0). Подробности в Лицензия.

About

A simple application for tracking watched series.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages