Зачем? • Функциональность • Скриншоты • Использование • RoadMap • Архитектура • Лицензия
Как и многие из нас, я люблю смотреть сериалы (в основном аниме), но по разным причинам мне приходится смотреть их на разных сайтах и я не очень хочу заводить аккаунт на каждом из них, чтобы отслеживать свой прогресс.
Кроме того, у меня часто бывают длительные перерывы между просмотром чего-либо и я забываю, на каких сериях остановился.
Чтобы как-то решить эту проблему и перестать делать заметки в своем приложении для заметок, я разработал простое приложение для Android, позволяющее отслеживать просмотренные эпизоды определенного сериала.
Также мне хотелось более подробно познакомиться с .NET MAUI и мобильной разработкой в целом.
В проекте реализованы нижеперечисленные дополнительные функции. Для их использования ознакомьтесь с разделом Использование.
В этом разделе поясняется, как использовать Дополнительные функции приложения, описанные в Функциональность.
Если дополнительные функции вам не нужны, пожалуйста, ознакомьтесь с разделом Releases данного репозитория. В нем присутствуют .apk файл и исходный код приложения, в котором Дополнительные функции отсутствуют. Также в репозитории присутствует дополнительная ветвь Restricted с вырезанными функциями.
Для использования всех функций приложения необходимо сделать следующее:
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). Подробности в Лицензия.