For what? • Functionality • Screenshots • Use • Roadmap • Architecture • License
Like many of us, I like to watch TV shows (mainly anime), but for various reasons I have to watch them on different sites and I do not really want to start an account at each of them to track my progress.
In addition, I often have long breaks between watching something and I forget what episodes I settled on.
In order to somehow solve this problem and stop making notes in my application for notes, I have developed a simple android application that allows you to track the viewed episodes of a particular series.
I also wanted to get acquainted with the .NET MAUI in more detail and the mobile development in general.
The project implements the following additional functions. To use them, read the use section.







This section explains how to use Дополнительные функции of the application described in functionality.
If you do not need additional functions, please read Releases section of this repository. It contains .APK file and the source code of the application in which Дополнительные функции are absent. Also in the repository there is an additional Restricted branch with carved functions.
To use all the functions of the application, it is necessary to make the following:
App.xaml.cs as follows:
FirebaseSettings(appSecret: "your_database_secret", baseUrl: "your_projecturl");
The application uses Shikimori.one and Myanimelist APIs for data. Shikimori API does not require any type of authentication, as Graphql is used. Myanimelist API requires the basic authentication of the application, this requires the creation of MAL ID, and then use it in MALBase.cs as follows:
_httpClient.DefaultRequestHeaders.Add("X-MAL-CLIENT-ID", "your_mal_id");
The application has a function of selecting an image of the added series by its name using Google Custom Search API. To use this function, it is necessary to create a programmable search engine and project in the Google Console Cloud, and then use идентификатор поисковой системы and ApiKey project in the GoogleCustomSearchApiService.cs file as follows:
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";
The application uses clean architecture with the MVVM design template and is divided into 3 main levels.
Series Tracker spreads on the terms of the Apache license (version 2.0). Details to the license.