You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simple Android project that notifies you of new chapters to manga series followed on mangadex.org. Mostly created so I could avoid using third-party RSS feeds, but also as a quick review of Android.
14
-
Mostly only maintained for my own use, feel free to fork the project and build on it if necessary. I will likely not be adding any more features, and will not build an iOS version.
16
+
An Android project that notifies you of new chapters to manga series followed on mangadex.org. Mostly created so I could avoid using third-party RSS feeds, but also as a testing ground for new architecture patterns.
17
+
Mostly only maintained for my own use, feel free to fork the project and build on it if necessary. I'll be adding features at my own leisure, and will not build an iOS version.
15
18
16
19
The app will only notify you of chapters that have been released *after* you've installed the app. This is to prevent notification spam on first run.
17
20
21
+
18
22
### Working Functionality
19
23
- Logging in
20
24
- Tracking/Displaying followed Manga updates from MangaDex
21
-
- Notifying of chapters released after install date
25
+
- Notifying of chapters released after app install date
22
26
- Opening a new manga chapter from the Android notification or from the home screen
23
27
- Light and Dark theme (following Android's system setting)
24
28
- Material You theming (on supported devices)
29
+
- Automatically caching new chapters, to improve performance at read-time
30
+
- Ability to read manga chapters using a native image renderer or the system webview
31
+
25
32
26
33
### Missing Functionality
27
34
- Log out (clear app data if you want to log out)
28
-
- Everything else related to MangaDex's site functionality.
35
+
- Various settings that you might expect with a full consumer app
36
+
- Everything else related to MangaDex's site functionality
29
37
30
38
31
39
## General Architecture
32
40
Developed using Jetpack Compose for the UI
33
-
Ktor for HTTP requests
41
+
Ktor for HTTP requests and file downloads
34
42
Koin for Dependency Injection
35
43
36
44
App architecture is modelled after Google's recommended approach: Model-View-ViewModel (MVVM) with Repositories.
@@ -40,26 +48,27 @@ App architecture is modelled after Google's recommended approach: Model-View-Vie
40
48
Working directly with the MangaDex API.
41
49
Using global rate-limiting in Ktor, matching MangaDex's 5 per second limit.
42
50
51
+
43
52
## Analytics/Logging
44
53
45
-
All logs + analytics are logged to my personal Firebase Crashlytics project, so I have information to go on in the event of a crash.
54
+
All logs + analytics are logged to my personal Firebase Crashlytics project, so I have information to debug crashes or non-fatal events in the app.
46
55
47
56
48
57
## Sync Process
49
58
50
-
Every ~15 minutes (while the app is foregrounded OR background), the app will go through a sync process:
59
+
Every ~30 minutes (while the app is foregrounded OR background), the app will go through a sync process:
51
60
1. Refresh Auth Token
52
61
2. Fetch Followed Chapters
53
62
3. Fetch new Manga info for unknown manga series
54
63
4. Fetch covers for new manga found in step 3
55
-
5. Fetch chapter read status markers for all users known manga
64
+
5. Fetch chapter read status markers for the authenticated user
56
65
57
-
Backgronud refreshes are using WorkManager, which means the update timing is more up to Android than me.
66
+
Background refreshes are using WorkManager, which means there may be some delay in the refresh.
58
67
59
68
60
69
## Storage
61
70
62
-
Manga series and chapter information is stored on a local DB to avoid loading on app start, and because I hadn't done a lot of DB work previously.
71
+
Manga series infor, chapter info, and read status is all stored in a local DB, powered by Room
0 commit comments