Skip to content

Repository files navigation

Handbook for Valorant

Version Codemagic build status

A cross-platform Flutter mobile app providing an interactive guide to Valorant's agents, maps, weapons, skins, and competitive tiers. Architected with a modular monorepo (4 internal packages), clean layered data flow (View → Cubit → Service → Repository), and Freezed sealed-class state management for compile-time safety. Features video playback for skin previews, multi-language support, dark/light theming, and Firebase Analytics. Shipped to testers via Codemagic CI/CD.

App Store Google Play

Disclaimer: This is an unofficial fan-made application. It is not affiliated with, endorsed by, sponsored by, or in any way officially connected to Riot Games, Inc.. "Valorant" and all associated trademarks, logos, characters, and assets are the property of Riot Games, Inc. All game data is sourced from the public, community-maintained valorant-api.com.

Screenshots

Agents Maps Weapons Ranks
coming soon coming soon coming soon coming soon

Features

  • Agents — Browse agents with role-based filtering, view abilities and background art
  • Maps — Explore maps with callouts and tactical layouts
  • Weapons — Detailed weapon stats, damage tables, and full skin galleries with video previews
  • Ranks — Browse the competitive tier ladder
  • Dual language — English and Turkish, switchable at runtime
  • Adaptive theming — Light / dark mode with the Valorant brand palette

Tech Stack

Layer Choice
Framework Flutter 3.41+ / Dart 3.11+
State management flutter_bloc (Cubit + Freezed union states)
Models freezed + json_serializable
Routing auto_route
DI get_it
HTTP dio
Localization easy_localization
Image cache cached_network_image
Video better_player_plus

Architecture

Feature-first layered architecture: View → Cubit → Service → Repository / Network.

lib/
├── features/          # Self-contained feature modules
│   ├── agents/
│   ├── maps/
│   ├── weapons/
│   ├── ranks/
│   └── profile/
├── product/           # Cross-feature shared code
└── main.dart

modules/               # Reusable packages
├── core/              # Dimensions, gaps, durations, extensions
├── theme_module/      # Colors, text themes, dark/light mode
├── gen/               # Generated assets + localizations
└── lint_rules/        # Custom analyzer rules

Getting Started

Prerequisites

  • Flutter 3.41.5+
  • Dart ^3.11.0
  • CocoaPods (iOS builds)

Setup

git clone https://github.com/yagizdo/handbook-for-valorant-mobile.git
cd handbook-for-valorant-mobile

flutter pub get
bash scripts/app/build.sh   # code generation (Freezed, auto_route, ObjectBox)
flutter run

Firebase (optional)

Firebase config files are not committed. If you want analytics:

  1. Create a project in Firebase Console
  2. Add Android/iOS apps and download config files
  3. Run flutterfire configure

Skip Firebase? Remove Firebase.initializeApp(...) from lib/main.dart.

Scripts

Script Purpose
scripts/app/build.sh Run build_runner for all packages
scripts/app/lang.sh Regenerate LocaleKeys from translation JSONs
scripts/ci/format_check.sh Verify formatting (line length 120)
scripts/ci/code_analyze.sh Run analyzer + custom lints

Contributing

PRs welcome — target the develop branch.

bash scripts/ci/format_check.sh
bash scripts/ci/code_analyze.sh

Both must pass before merging.

License

MIT © 2026 Yilmaz Yagiz Dokumaci

Acknowledgments

About

Valorant companion app for iOS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages