Skip to content

Repository files navigation

GenshinQL — Character Browser

GenshinQL

A comprehensive Genshin Impact hub — browse characters & weapons, plan farming schedules,
build tier lists, and challenge yourself with Genshin mini-games.


CI CodeQL License: MIT React TypeScript Vite Tailwind Bun


✨ Features

Feature Description
🧙 Character Database Full profiles — talents, constellations, passives, and ascension paths
⚔️ Weapon Catalog Complete stats, refinements, and material farming routes
📅 Farming Calendar Daily talent-book and weapon-material schedule by day of week
🏆 Tier List Builder Drag-and-drop tier list creator with shareable layouts
🎮 Genshindle Wordle-style character guessing game
🃏 Memory Game Card-matching game with Genshin character art
🔗 Linker Game Connect characters by shared traits
📋 Routine Planner Build and track your daily resin & farming routine

🖼️ Screenshots

Weapon Detail View
Weapon Detail
Character Talents
Character Talents
Character Attacks
Character Attacks
Character Constellations
Constellations
Talent Schedule
Talent Farming Calendar
Weapon Schedule
Weapon Farming Calendar
Tier List Builder
Tier List Builder
Character Routine
Routine Planner

🚀 Quick Start

Prerequisites

  • Bun — fast all-in-one JavaScript runtime & package manager

Installation

# Clone the repo
git clone https://github.com/utkarsh5026/GenshinQL.git
cd GenshinQL/client

# Install dependencies
bun install

# Start dev server → http://localhost:5173
bun run dev

🛠️ Tech Stack

Layer Technology
UI React 18 · React Router v7 · Framer Motion 12
Language TypeScript 5.9 (strict mode)
Build Vite 7 · Bun
State Zustand 5
Styling Tailwind CSS 4 · shadcn/ui · Radix UI
Data Static JSON · IndexedDB (stale-while-revalidate cache) · Selenium scrapers
Infra Cloudflare R2 (media CDN) · Vercel (hosting)

No backend. All data is served from static JSON files under client/public/ and cached client-side in IndexedDB.


💻 Development

Scripts

# Development
bun run dev           # Start Vite dev server (localhost:5173)
bun run build         # Type-check + production build
bun run preview       # Preview production build locally

# Code quality
bun run validate      # lint + format:check + tsc --noEmit  (run before pushing)
bun run lint:fix      # Auto-fix ESLint issues
bun run format        # Format code with Prettier

# Analysis
bun run build:analyze # Bundle size visualizer

Data Scraping

bun run scrape:all          # Scrape all game data
bun run scrape:characters   # Characters only
bun run scrape:weapons      # Weapons only
bun run scrape:talents      # Talent schedules only
bun run scrape:gallery      # Character gallery media only
bun run consolidate         # Merge scraped data into JSON files
bun run generate-primitives # Regenerate game constants

🤝 Contributing

Contributions are welcome! Please check the Development Guide for architecture details.

  1. Fork the repository
  2. Create a feature branch — git checkout -b feat/amazing-feature
  3. Make your changes and run bun run validate
  4. Commit using Conventional Commitsfeat: add amazing feature
  5. Push and open a Pull Request

🔮 Roadmap

  • Enka Network integration for live player data
  • Character build guides and team composition recommendations
  • Artifact, material, and boss-drop reference with build suggestions
  • Advanced character build calculator
  • Team composition optimizer

📝 License

Licensed under the MIT License.


Made with ❤️ for the Genshin Impact community

GitHub stars

About

A graphql server for the genshin lovers

Topics

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Used by

Contributors

Languages