Зачем? • Функциональность • Скриншоты • Использование • RoadMap • Архитектура • Лицензия
Как и многие из нас, я люблю смотреть сериалы (в основном аниме), но по разным причинам мне приходится смотреть их на разных сайтах и я не очень хочу заводить аккаунт на каждом из них, чтобы отслеживать свой прогресс.
Кроме того, у меня часто бывают длительные перерывы между просмотром чего-либо и я забываю, на каких сериях остановился.
Чтобы как-то решить эту проблему и перестать делать заметки в своем приложении для заметок, я разработал простое приложение для Android, позволяющее отслеживать просмотренные эпизоды определенного сериала.
Также мне хотелось более подробно познакомиться с .NET MAUI и мобильной разработкой в целом.
- Темная/светлая/системная темы;
- Минималистичный и современный дизайн.
- Добавление сериалов и отслеживание просмотренных эпизодов;
- Быстрый доступ к редактироваю/удалению;
- Пометка сериалов как "избранное";
- Поиск и фильтр по избранному;
- Раздельные экраны для активных и просмотренных сериалов;
- Возможность добавлять сериалы с сайта Shikimori.One.
- Экспорт/импорт данных в формате .json;
- Все данные хранятся локально на устройстве;
В проекте реализованы нижеперечисленные дополнительные функции. Для их использования ознакомьтесь с разделом Использование.
- Авто-поиск изображения для сериала;
- Возможность добавлять сериалы с сайта MyAnimeList;
- Хранение данных в облачном сервисе FireBase;
- Синхронизация между локальным и облачным хранилищами.
В этом разделе поясняется, как использовать Дополнительные функции приложения, описанные в Функциональность.
Если дополнительные функции вам не нужны, пожалуйста, ознакомьтесь с разделом Releases данного репозитория. В нем присутствуют .apk файл и исходный код приложения, в котором Дополнительные функции отсутствуют. Также в репозитории присутствует дополнительная ветвь Restricted с вырезанными функциями.
Для использования всех функций приложения необходимо сделать следующее:
-
В приложении реализовано хранение данных в облачном сервисе Google FireBase. Для доступа к этой функции вам необходимо создать проект в Google Firebase console,
после чего использовать полученные ссылку на проект и Database Secret Key в
App.xaml.csследующим образом:
FirebaseSettings(appSecret: "your_database_secret", baseUrl: "your_projecturl"); -
В приложение используются API сайтов Shikimori.One и MyAnimeList для получения данных. Shikimori API не требует любого вида аутентификации, так как используется GraphQL. MyAnimeList API требует базовой аутентификации приложения, для этого требуется создать MAL ID, после чего использовать его в
MALBase.csследующим образом:_httpClient.DefaultRequestHeaders.Add("X-MAL-CLIENT-ID", "your_mal_id"); -
В приложении реализована функция подбора изображения добавляемого сериала по его названию посредством 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";
- Так как с момента релиза приложения я им активно пользуюсь, то первоочередной задачей является исправление всяческих ошибок и багов, если таковые будут найдены в процессе использования.
Приложение использует архитектуру с шаблоном проектирования MVVM и разделено на 3 основных уровня.
Series Tracker распространяется на условиях лицензии Apache (версия 2.0). Подробности в Лицензия.