How t4kina/anispark works
AniSpark is a Flutter anime and manga tracker centered on AniList. Users discover or search titles, inspect details, track progress in their lists, and use social features such as feeds and profiles; account access syncs with AniList. The README also documents episode alerts, theme preferences, and multilingual support. The graph reflects those documented capabilities and the source tree; sampled excerpts mainly cover platform launchers, so internal screen-to-service wiring is represented cautiously.
Main entry points: main.dart App entry · home_screen.dart Discover · search_screen.dart Search · profile_screen.dart Profiles
Components 20
User experience
- App entry
lib/main.dart - Discover
lib/screens/home_screen.dart - Search
lib/screens/search_screen.dart - Title details
lib/screens/detail_screen.dart - My lists
lib/screens/my_list_screen.dart - Activity feed
lib/screens/feed_screen.dart - Profiles
lib/screens/profile_screen.dart - User profile
lib/screens/user_profile_screen.dart - Characters
lib/screens/character_screen.dart - Settings UI
lib/screens/settings_screen.dart
App state
- Anime list state
lib/providers/anime_list_provider.dart - Settings state
lib/providers/settings_provider.dart - Anime model
lib/models/anime.dart
Integrations
- AniList API
- Authentication
lib/services/auth_service.dart - Episode alerts
lib/services/notification_service.dart - Device notifications
Shared app services
- Translations
lib/utils/translations.dart - Web bridge
lib/services/web_bridge.dart
Other components
- AniSpark user
Connections 24
- AniSpark user → App entry: opens
- App entry → Discover: shows
- App entry → Search: shows
- App entry → My lists: shows
- App entry → Activity feed: shows
- App entry → Profiles: shows
- Discover → Title details: opens titles
- Search → Title details: opens titles
- Title details → Characters: browses characters
- Profiles → User profile: browses users
- My lists → Anime list state: uses list state
- Anime list state → Anime model: holds entries
- Anime list state → AniList API: syncs lists
- Discover → AniList API: requests discovery
- Search → AniList API: searches titles
- Activity feed → AniList API: loads activity
- User profile → AniList API: loads profile data
- Profiles → Authentication: starts login
- Authentication → AniList API: authenticates
- Settings UI → Settings state: updates preferences
- Settings state → Episode alerts: configures alerts
- Episode alerts → Device notifications: schedules alerts
- App entry → Translations: uses strings
- Authentication → Web bridge: uses web flow