Skip to content

Marco-9456/AniSync

Repository files navigation

AniSync

AniSync Logo

A native Android client for AniList β€” track your anime and manga the way you want

Features Β· Screenshots Β· Tech Stack Β· Getting Started Β· Documentation Β· Contributing

Platform Min SDK Kotlin Compose Target SDK Compile SDK License

Total Downloads Latest Release F-Droid Version Stars

Ko-Fi GitHub Sponsors


Overview

AniSync is a native Android app for AniList.co β€” the anime and manga tracking platform. It provides a beautiful, offline-first experience for managing your watchlist, discovering new content, and staying connected with the anime community.

The app covers everything from basic progress tracking to advanced features like home screen widgets, forum discussions, and detailed statistics.

Note

AniSync is not affiliated with AniList. It's a third-party client built for the AniList community.


✨ Why AniSync

  • Offline-First β€” Your library and data work without an internet connection, syncing when you're back online.
  • Beautiful UI β€” Modern Material 3 design with smooth animations and dynamic theming.
  • Smart Notifications β€” Know exactly when your favorite shows air, plus stay updated on forum activity.
  • Home Screen Widgets β€” Quick access to your anime schedule right from your launcher.
  • Privacy-Focused β€” Your credentials are encrypted locally using AES-256-GCM.

Features

πŸ“š Library Management

Track your anime and manga with full flexibility. Choose from multiple statuses (Watching, Planning, Completed, Dropped, Paused, Repeating), rate your entries on a scale, add personal notes, and organize everything into custom lists. Sort by title, progress, score, airing date, or last updated β€” ascending or descending.

πŸ” Discovery & Search

Browse what's trending, what's popular this season, upcoming releases, and titles marked TBA. The advanced search lets you filter by 18 genres, release year, season, format (TV, Movie, OVA, ONA, Special, Music), and airing status. Find exactly what you're looking for.

πŸŽ₯ Media Details

Every anime and manga page gives you the full picture. See cover art and banners, read descriptions, view episode/chapter counts, and check community scores. Dive deeper with character casts and their voice actors, staff information (directors, studios, producers), and related media (sequels, prequels, side stories).

Watch trailers directly in the app using the built-in video player. Browse community reviews and recommendations, then explore streaming links to find where to watch.

🎭 Character & Staff Browser

Characters and staff members have their own dedicated pages. View parsed biographies with spoiler handling, key attributes, and media appearances. Filter voice actors by language to find your preferred dub.

πŸ’¬ Forum

Engage with the AniList community through full forum integration. Browse threads by category, read discussions with nested replies, and participate with markdown support. Like posts, bookmark threads for later, and subscribe to get notified of new replies.

πŸ“Š Statistics

Get detailed insights into your anime and manga habits. See total time watched, episodes completed, chapters read, and mean scores. Explore breakdowns by genre, format, score distribution, and release year.

πŸ”§ Home Screen Widgets

Access your anime schedule without opening the app. Multiple widget types show upcoming episodes with countdown timers, today's airing timeline, a 7-day calendar view, or trending anime at a glance. Configure each widget to show your personal list or all anime.

πŸ”” Notification System

Never miss an episode. AniSync sends two-tier notifications β€” an advance alert 12 hours before air time, then an imminent reminder 2 hours before. Planning list shows? Get notified when they premiere. Forum notifications keep you updated on replies, mentions, and subscriptions.


πŸ“· Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8 Screenshot 9 Screenshot 10 Screenshot 11 Screenshot 12 Screenshot 13 Screenshot 14


Tech Stack

Category Technology
Language Kotlin 2.2.21
UI Framework Jetpack Compose with Material 3
Architecture MVVM + Clean Architecture (Use Cases)
Dependency Injection Hilt / Dagger
Navigation Navigation Compose (Type-safe routes)
Networking Apollo GraphQL 4.x
Local Database Room with KSP
Theming MaterialKolor (dynamic palette styles & seed colors)
Image Loading Coil
Video Playback ExoPlayer with custom Material 3 UI
Background Work WorkManager
Widgets Jetpack Glance
Serialization Kotlinx Serialization
Security EncryptedSharedPreferences (AES-256-GCM)
Min SDK 26 (Android 8.0 Oreo)
Target SDK 36 (Android 16)

Getting Started

Prerequisites

  • Android Studio Ladybug (2024.2.1) or newer
  • JDK 17
  • Android SDK with API 26+

Building the Project

  1. Clone the repository:
git clone https://github.com/Marco-9456/AniSync.git
cd AniSync
  1. Open in Android Studio and wait for Gradle sync to complete.

  2. Run the app on a device or emulator (API 26+).

Tip

You don't need any API keys or additional configuration. The app uses AniList's public GraphQL API and handles authentication via OAuth.

Build Variants

Variant Package ID Description
debug com.anisync.android.debug Development build with debug features
stable com.anisync.android Production build with ProGuard

Note

Both variants can be installed side-by-side for testing.


Documentation

Comprehensive documentation lives in the docs/ folder:

Document Description
ARCHITECTURE.md System architecture, patterns, and layer responsibilities
DATABASE.md Room database schema, migrations, and caching strategy
API.md GraphQL integration, authentication, and API reference
NAVIGATION.md Screen flows, navigation graph, and deep links
WIDGETS.md Widget architecture and notification system
CONTRIBUTING.md Contribution guidelines and code style
CHANGELOG.md Version history and release notes

Quick Links


Project Structure

AniSync/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ src/main/
β”‚   β”‚   β”œβ”€β”€ java/com/anisync/android/
β”‚   β”‚   β”‚   β”œβ”€β”€ data/           # Data layer (repositories, local DB)
β”‚   β”‚   β”‚   β”œβ”€β”€ di/             # Hilt dependency injection modules
β”‚   β”‚   β”‚   β”œβ”€β”€ domain/         # Domain layer (models, interfaces, use cases)
β”‚   β”‚   β”‚   β”œβ”€β”€ presentation/   # UI layer (screens, ViewModels)
β”‚   β”‚   β”‚   β”œβ”€β”€ ui/theme/       # Compose theme (colors, typography)
β”‚   β”‚   β”‚   β”œβ”€β”€ util/           # Utility functions
β”‚   β”‚   β”‚   β”œβ”€β”€ widget/         # Glance widgets
β”‚   β”‚   β”‚   └── worker/         # WorkManager jobs
β”‚   β”‚   β”œβ”€β”€ graphql/            # GraphQL queries and mutations
β”‚   β”‚   └── res/                # Resources (layouts, strings, drawables)
β”‚   └── schemas/                # Room schema exports (for migrations)
β”œβ”€β”€ docs/                       # Documentation
└── gradle/                     # Gradle configuration

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

πŸƒ Quick Start for Contributors

  • Fork the repository
  • Create a feature branch (git checkout -b feature/amazing-feature)
  • Make your changes
  • Run tests and lint (./gradlew check)
  • Commit with a descriptive message
  • Push to your fork and create a Pull Request

License

This project's source code is licensed under the GNU General Public License v3.0 β€” see the LICENSE file for details.

Warning

Brand & Naming Guidelines

While the source code is freely available under the GPLv3, the AniSync name and brand identity are protected. Any derivative works β€” including forks and unofficial builds β€” are strictly prohibited from using "AniSync" as the name for an AniList client application.


Acknowledgments

  • AniList for the excellent GraphQL API
  • Material Design 3 for the design system
  • Seal and ReadYou for UI/UX inspiration
  • The Android and Kotlin communities for amazing tools and libraries

Made with care for anime fans 🌸

About

A modern, native Android client for AniList built with Jetpack Compose, Material 3, and Clean Architecture.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors

Languages