{"id":20937146,"url":"https://github.com/danibram/pwa-jiayou","last_synced_at":"2026-04-21T22:03:43.264Z","repository":{"id":54637388,"uuid":"290448324","full_name":"danibram/pwa-jiayou","owner":"danibram","description":"PWA helps you to learn chinese in spanish","archived":false,"fork":false,"pushed_at":"2025-10-25T04:25:55.000Z","size":3292,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-31T13:38:57.704Z","etag":null,"topics":["chinese","learning","pwa"],"latest_commit_sha":null,"homepage":"https://jiayou.dbr.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danibram.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-26T09:05:05.000Z","updated_at":"2022-12-17T23:26:02.000Z","dependencies_parsed_at":"2022-08-13T22:20:39.789Z","dependency_job_id":null,"html_url":"https://github.com/danibram/pwa-jiayou","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danibram/pwa-jiayou","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danibram%2Fpwa-jiayou","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danibram%2Fpwa-jiayou/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danibram%2Fpwa-jiayou/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danibram%2Fpwa-jiayou/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danibram","download_url":"https://codeload.github.com/danibram/pwa-jiayou/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danibram%2Fpwa-jiayou/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32112030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chinese","learning","pwa"],"created_at":"2024-11-18T22:33:23.604Z","updated_at":"2026-04-21T22:03:43.259Z","avatar_url":"https://github.com/danibram.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 加油 HSK Flashcards\n\nA modern, interactive Progressive Web App (PWA) for learning Chinese characters using HSK (Hanyu Shuiping Kaoshi) standards in spanish.\n\n## Features\n\n### 📚 **Flashcards Mode**\n- Browse freely through HSK characters\n- Swipe left/right or use arrow keys to navigate\n- Tap to flip cards and see translations\n- View simplified and traditional characters\n- See pinyin pronunciation and Spanish definitions\n- Integration with Pleco dictionary for detailed lookups\n\n### 🎯 **Training Mode**\n- Test your knowledge with a randomized quiz\n- Swipe right for correct, left for incorrect\n- Track your score and progress in real-time\n- Get immediate visual feedback\n- View detailed statistics at the end\n\n### ✨ **Modern UI/UX**\n- Beautiful glassmorphism design\n- Smooth 3D flip animations\n- Touch-optimized for mobile devices\n- Responsive layout for all screen sizes\n- Intuitive swipe gestures\n- PWA support for offline use\n\n## Tech Stack\n\n- **[SolidJS](https://www.solidjs.com/)** - Reactive UI framework\n- **[TypeScript](https://www.typescriptlang.org/)** - Type safety\n- **[Vite](https://vitejs.dev/)** - Build tool and dev server\n- **[Tailwind CSS](https://tailwindcss.com/)** - Utility-first CSS framework\n- **[Vitest](https://vitest.dev/)** - Unit testing framework\n- **[vite-plugin-pwa](https://vite-plugin-pwa.netlify.app/)** - PWA support\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+ and npm\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone \u003cyour-repo-url\u003e\ncd new-version\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run dev\n\n# Build for production\nnpm run build\n\n# Run tests\nnpm test\n```\n\n## Project Structure\n\n```\nsrc/\n├── components/       # Reusable UI components\n│   ├── Card.tsx              # Flashcard with flip animation\n│   ├── SwipeableCard.tsx     # Card with swipe detection\n│   ├── LevelSelector.tsx     # HSK level selection\n│   ├── ProgressBar.tsx       # Progress indicator\n│   └── ScoreModal.tsx        # Training results modal\n├── pages/           # Main application pages\n│   ├── Home.tsx              # Landing page with mode selection\n│   ├── Tarjetas.tsx          # Flashcards mode\n│   └── Entrenamiento.tsx     # Training mode\n├── stores/          # State management\n│   └── characterStore.ts     # Character data and progress\n├── utils/           # Utility functions\n│   ├── swipeDetection.ts     # Touch/mouse swipe detection\n│   └── plecoIntegration.ts   # Pleco dictionary integration\n├── data/            # HSK character data (JSON)\n│   ├── hsk1.json\n│   ├── hsk2.json\n│   └── hsk3.json\n├── types.ts         # TypeScript type definitions\n└── index.css        # Global styles and Tailwind config\n```\n\n## Data\n\nThe app includes:\n- **HSK 1**: 174 characters\n- **HSK 2**: 173 characters\n- **HSK 3**: 270 characters\n- **Total**: 617 characters\n\nEach character includes:\n- Simplified Chinese character\n- Traditional Chinese character (when different)\n- Pinyin pronunciation\n- Spanish definition\n- Stroke count\n- Radical\n- HSK level\n- Frequency rank\n\n## Features in Detail\n\n### Card Flip Animation\n- Pure CSS 3D transform with perspective\n- Works smoothly on mobile browsers\n- Shows character on front, details on back\n- Prevents accidental flips during swipes\n\n### Swipe Detection\n- Custom implementation supporting both touch and mouse events\n- Prevents conflicts with native scroll/pan gestures\n- Visual feedback with drag offset and rotation\n- Configurable thresholds and timing\n\n### Training Logic\n- If you flip to see the translation, it counts as incorrect\n- Manual advancement after viewing translation\n- Real-time score tracking\n- Comprehensive results screen with statistics\n\n### PWA Support\n- Offline-first with service worker\n- Installable on mobile devices\n- App manifest with icons\n- Cached assets for fast loading\n\n## Browser Support\n\n- Chrome/Edge 90+\n- Safari 14+\n- Firefox 88+\n- Mobile browsers (iOS Safari, Chrome Mobile)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nMIT\n\n## Acknowledgments\n\n- Character data sourced from http://hanzidb.org\n- Inspired by traditional flashcard learning methods\n- Built with modern web technologies for optimal UX\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanibram%2Fpwa-jiayou","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanibram%2Fpwa-jiayou","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanibram%2Fpwa-jiayou/lists"}