How roshancodespace/shonenx works
ShonenX is a cross-platform anime and manga client: users discover titles, select user-managed sources, then watch episodes or read chapters, with progress sync and optional offline downloads. The feature tree separates discovery, source resolution, playback/reading, tracking, and downloads; the README explicitly documents tracker sync and extension support. Native runner excerpts show Flutter host startup only, not Dart feature wiring, so the graph omits uncertain call-level links. Major feature paths are supported by the tree; some behavior is included from the README rather than sampled implementation.
Main entry points: details_screen.dart Title Details · main.dart Flutter App · player_screen.dart Video Player · reader_screen.dart Manga Reader
Components 21
App and Discovery
- Flutter App
lib/main.dart - Browse and Search
lib/features/discovery/presentation - Title Details
lib/features/discovery/presentation/details_screen.dart
Sources and Metadata
- Extension Manager
lib/features/extensions - Source Engine
lib/source_engine - Episode Metadata
lib/features/episode_metadata
Watch and Read
- Video Player
lib/features/player/presentation/player_screen.dart - Manga Reader
lib/features/reader/presentation/reader_screen.dart
Progress and Organization
- Progress Tracking
lib/features/tracking - Watch and Read History
lib/features/history - Personal Library
lib/features/library - Airing Calendar
lib/features/calendar - Airing Notifications
lib/features/notifications - Comments
lib/features/comments
Offline and Services
- Offline Downloads
lib/features/downloads - Download Repository
lib/features/downloads/domain/download_repository.dart - Discord Integration
lib/features/discord - Remote Configuration
lib/core/remote_config
Other components
- Viewer
- Third-party Sources
- Tracker APIs
Connections 22
- Viewer → Flutter App: opens
- Flutter App → Browse and Search: shows
- Browse and Search → Title Details: selects title
- Title Details → Source Engine: resolves media
- Extension Manager → Source Engine: registers sources
- Source Engine → Third-party Sources: requests streams
- Title Details → Episode Metadata: loads episode info
- Title Details → Video Player: starts watching
- Title Details → Manga Reader: starts reading
- Video Player → Watch and Read History: records watch progress
- Manga Reader → Watch and Read History: records read progress
- Video Player → Progress Tracking: updates watch progress
- Manga Reader → Progress Tracking: updates read progress
- Progress Tracking → Tracker APIs: syncs progress
- Viewer → Offline Downloads: requests offline copy
- Offline Downloads → Download Repository: saves tasks
- Viewer → Personal Library: manages titles
- Viewer → Airing Calendar: views schedule
- Viewer → Airing Notifications: sets reminders
- Viewer → Comments: joins discussion
- Viewer → Discord Integration: links account
- Flutter App → Remote Configuration: loads configuration