An interactive browser game featuring Ukrainian license plates. Open plates and packs, collect rare combinations, earn in-game coins by selling plates, and build your own collection.
Plate Roulette is a casual simulator that generates Ukrainian license plates with regional codes, digits, and letter series. Each combination receives a score and an in-game value based on its features and region.
Players can open individual plates or packs, choose a minimum rarity, keep their finds in a personal collection, or sell them for in-game coins. The interface supports Ukrainian and English, while the balance and collection are saved in the browser.
- Typed domain logic: dedicated modules handle plate generation, rarity, combination scoring, and price calculation.
- State management with Redux Toolkit: the wallet, available plates, and collection are managed in separate state slices.
- Persistent game state: the wallet and saved plates are stored in
localStorageand validated when loaded. - Responsive interface: layouts built with Tailwind CSS adapt to different screen sizes.
- Ukrainian and English localization: switch languages in the interface; the selected language is saved in the browser.
- Animated plate reveal: the roulette animates plate generation and allows players to skip the animation.
| Category | Technology |
|---|---|
| UI | React 19, TypeScript |
| Application State | Redux Toolkit, React Redux |
| Styling | Tailwind CSS 4 |
| Localization | i18next, react-i18next |
| Development Tools | Vite, ESLint |
| Data Persistence | Browser localStorage |
- 🎲 Random plate generation with regional codes, digits, and letter series.
- ✨ Rarity tiers ranging from common to priceless, with an option to set a minimum rarity for special offers.
- 🧮 Combination scoring based on matching digits, sequences, palindromes, letter series, and other bonuses.
- 💰 In-game economy: buy single plates or packs, sell individual finds, or sell an entire open pack.
- 🗂️ Plate collection: keep your favorite plates and sell them later if you choose.
- 🌍 Two interface languages: Ukrainian and English.
- 📢 Demo ticker featuring sample plates.
- Node.js:
20.19+or22.12+ - npm
- Clone the repository:
git clone https://github.com/Skoulskiy/Plate-Roulette.git cd Plate-Roulette - Install dependencies:
npm install
- Start the development server:
npm run dev
- Create a production build:
npm run build
- Run the linter:
npm run lint
- GitHub: @Skoulskiy
- LinkedIn: @Ilya-Yaskevych