An open API service indexing awesome lists of open source software.

https://github.com/tnm/hsk

Minimalist web application with modern features for studying HSK (Chinese Proficiency Test) vocabulary using flashcards.
https://github.com/tnm/hsk

chinese flashcards hsk mandarin

Last synced: about 2 months ago
JSON representation

Minimalist web application with modern features for studying HSK (Chinese Proficiency Test) vocabulary using flashcards.

Awesome Lists containing this project

README

          

# HSK Cards

A minimalist, responsive web application with modern features for studying HSK (Chinese Proficiency Test) vocabulary using flashcards.

## Features

- πŸ“š All HSK levels (1-6) vocabulary included
- 🎯 Focus mode for distraction-free study
- βœ“ Track learned/unlearned cards
- ⌨️ Fast keyboard navigation
- πŸ“± Responsive design with touch support
- πŸŒ— Dark mode support
- πŸ”„ Shuffle mode for randomized practice

![Desktop screenshot](https://github.com/user-attachments/assets/bab554d1-354b-487b-93c1-b089f08c55fe)

## Usage

### Website

Live at [https://hskcards.app](https://hskcards.app)

### Desktop Controls

- Space: Flip card
- ← β†’ or j k: Navigate cards
- 1-6: Switch HSK level
- f: Toggle learned/unlearned state
- u: Show unlearned only
- z: Toggle focus mode
- esc: Exit focus mode

### Mobile Controls

- Tap to flip card
- Swipe left/right to navigate
- Tap buttons to mark learned/unlearned

### Modes

- Focus mode: Hide most buttons and settings for distraction-free study
- Shuffle mode: Randomize the order of cards
- Dark mode: Toggle with the button in the top right. Preference is saved.
- Learning progress: Track which cards you've learned across sessions

![mobile](https://github.com/user-attachments/assets/de762f28-6e97-43c6-afcd-1109aff31d2d)

Mix and match to find the best way to study for you.

## Development

This project uses:

- Vite for fast development and optimized builds
- React
- Tailwind CSS for styling
- Local storage for persisting preferences

### Building for Production

```bash
npm run build
```

This will create a `dist` directory with optimized production files.

### Preview Production Build

```bash
npm run preview
```

## Ideas

- Add traditional characters
- Allow users to mark cards as known/unknown for personalized practice
- Add colors to represent each tone in Pinyin for better visual distinction
- Implement a progress tracker to show study stats

## Note on CSV format

The vocabulary data is stored in header-less CSV files with
character, pinyin, and English:

```
跳舞,tiΓ o wΗ”,to dance
ε€–,wΓ i,outside
```

You could fork and adapt for other languages.
Please do!

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

This project is open source and available under the [MIT License](LICENSE).