A modern web application to help you track your Gwent card collection from The Witcher 3: Wild Hunt. Keep track of which cards you've collected, where to find missing ones, and manage your complete Gwent collection across all expansions.
- Complete Card Database: All Gwent cards from The Witcher 3, including Hearts of Stone and Blood and Wine expansions
- Collection Tracking: Mark cards as collected and track your progress
- Advanced Filtering: Filter by faction, location, abilities, and more
- Search Functionality: Quickly find specific cards by name
- Location Information: Detailed information about where to find each card
- Responsive Design: Works seamlessly on desktop and mobile devices
- PWA Support: Install as a progressive web app for offline access
- Dark/Light Theme: Toggle between themes for comfortable viewing
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI with custom components
- State Management: TanStack Query (React Query)
- Icons: Lucide React
- Package Manager: pnpm
- Node.js 18+
- pnpm (recommended) or npm
- Clone the repository:
git clone https://github.com/Rowan-Paul/gwentcards.git
cd gwentcards- Install dependencies:
pnpm install- Run the development server:
pnpm dev- Open http://localhost:3000 in your browser.
GWENTcards can be installed as a Progressive Web App:
- Visit the application in your browser
- Look for the "Install" prompt or use your browser's install option
- The app will be available on your home screen/desktop
The application includes comprehensive data for all Gwent cards:
- Factions: Scoia'tael, Monsters, Nilfgaard, Northern Realms, Neutral, Skellige
- Card Types: Unit cards, Special cards, Leader cards
- Abilities: Hero, Medic, Morale boost, Muster, Spy, Tight bond
- Locations: Detailed information about where to obtain each card
- Expansions: Base game, Hearts of Stone, Blood and Wine
├── app/ # Next.js app directory
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/ # React components
│ ├── ui/ # Reusable UI components
│ └── ... # Feature-specific components
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
├── public/ # Static assets
│ ├── images/ # Card images
│ └── *.json # Card data files
├── styles/ # Additional styles
└── types/ # TypeScript type definitions
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production serverpnpm lint- Run ESLint
- Mark cards as collected with a simple click
- Visual indicators for collected/uncollected cards
- Progress tracking across all factions
- Filter by faction (Scoia'tael, Monsters, etc.)
- Filter by location type
- Filter by card abilities
- Search by card name
- Filter by expansion (base game, DLCs)
- Detailed location data for each card
- Information about NPCs, territories, and specific locations
- Notes about acquisition methods
- Mobile-first approach
- Touch-friendly interface
- Optimized for various screen sizes
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request