AniTrack is a comprehensive mobile application designed to be the ultimate companion for passionate anime and TV series fans. Built with modern Android development practices, it provides seamless progress tracking, discovery features, and community engagement capabilities.
AniTrack enables users to:
- Track Progress: Manage shows under categories like "Watching", "Completed", "Plan to Watch", etc.
- Discover Content: Browse trending shows, editor's picks, and popular content
- Community Features: Join discussion clubs and share reviews with a unique four-option rating system
- Offline Support: View and manage watchlists without internet connection
- Deep Link Integration: Seamlessly navigate to streaming platforms
- โ User authentication system
- โ Third-party API integration (TMDB)
- โ Core watchlist functionality
- โ Offline data access
- โ Modern Material 3 UI with Jetpack Compose
- โ Responsive design with dark/light theme support
- ๐ Four-option review system (Skip, Timepass, Go for it, Perfection)
- ๐ Forum-style discussion clubs
- ๐ Spoiler protection mechanisms
- ๐ Admin panel for moderation
- ๐ AI-powered recommendation engine
- ๐ Curated discovery dashboard
- ๐ User analytics dashboard
- ๐ Advanced search and filtering
- Frontend: Jetpack Compose, Material 3
- Architecture: MVVM with Clean Architecture
- Dependency Injection: Hilt
- Database: Room with SQLite
- Networking: Retrofit + OkHttp
- Image Loading: Coil
- Navigation: Navigation Compose
- State Management: StateFlow
- Build System: Gradle with Kotlin DSL
Screenshots will be added as the app development progresses
- Android Studio Hedgehog or later
- Android SDK 24+ (API level 24)
- Kotlin 2.0.21+
- JDK 11+
-
Clone the repository
git clone https://github.com/yourusername/AniTrack.git cd AniTrack -
Get TMDB API Key
- Visit The Movie Database
- Create an account and request an API key
- Replace
YOUR_TMDB_API_KEY_HEREinapp/src/main/java/com/rajveer/anitrack/data/remote/Constants.kt
-
Build and Run
- Open the project in Android Studio
- Sync Gradle files
- Build and run on your device or emulator
The app uses several configuration files:
gradle/libs.versions.toml- Dependency versionsapp/build.gradle.kts- App-specific build configurationapp/src/main/java/com/rajveer/anitrack/data/remote/Constants.kt- API configuration
app/src/main/java/com/rajveer/anitrack/
โโโ data/
โ โโโ local/ # Room database and DAOs
โ โโโ remote/ # API service and responses
โ โโโ repository/ # Data coordination layer
โ โโโ mapper/ # Data transformation
โโโ di/ # Dependency injection modules
โโโ ui/
โ โโโ components/ # Reusable UI components
โ โโโ navigation/ # Navigation setup
โ โโโ screens/ # Individual screen implementations
โ โโโ theme/ # App theming
โโโ MainActivity.kt # Main entry point
- Data Layer: Create models, DAOs, and repository methods
- UI Layer: Implement screens and components
- Navigation: Update navigation graph and routes
- Testing: Add unit tests and UI tests
- Follow Kotlin coding conventions
- Use meaningful variable and function names
- Add comprehensive documentation for public APIs
- Implement proper error handling
- Follow Material Design guidelines
The app currently integrates with:
- TMDB (The Movie Database): Primary data source for shows, movies, and metadata
- Future: Potential integration with AniList, TVDB, or other anime-specific APIs
- Search shows:
/search/multi - Trending content:
/trending/all/week - Popular TV shows:
/tv/popular - Popular movies:
/movie/popular - Show details:
/tv/{id} - Movie details:
/movie/{id}
- User data is stored locally with encryption
- API keys are stored securely (not in version control)
- No personal data is shared with third parties
- Offline-first approach ensures data privacy
# Unit tests
./gradlew test
# Instrumented tests
./gradlew connectedAndroidTest- Unit tests for ViewModels and Repositories
- Integration tests for database operations
- UI tests for critical user flows
./gradlew assembleDebug./gradlew assembleReleaseGenerated APKs can be found in app/build/outputs/apk/
- Generate signed APK/AAB
- Update version code and name
- Upload to Play Console
- Submit for review
- Use Firebase App Distribution
- Share APK directly with testers
- Use Google Play internal testing track
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- TMDB for providing the API
- Material Design for design guidelines
- Jetpack Compose team
- Android developer community
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@anitrack.app
- Project setup and architecture
- Basic UI framework
- API integration foundation
- User authentication
- Core watchlist functionality
- Community features
- Review system
- Forum implementation
- Admin panel
- AI recommendations
- Advanced analytics
- Performance optimization
- Beta testing
- Public release
- User feedback integration
- Feature refinement
- Community expansion
Made with โค๏ธ for the anime and TV series community