A modern flashcard application built with React and TypeScript, featuring a spaced repetition system to help you effectively learn and memorize words.
- Spaced Repetition System: Uses a modified Leitner system with 6 boxes
- Progress Tracking: Monitor your learning progress with detailed statistics
- Dark/Light Mode: Supports system theme preference
- Import/Export: Easily backup or share your word collections
- Customizable Learning: Set daily new word limits
- Responsive Design: Works on both desktop and mobile devices
Add and manage your vocabulary
Review words using spaced repetition
View your progress within the application
Customize your learning experience
This app uses a modified Leitner system with 6 boxes for efficient learning:
| Box | Review Interval | Description |
|---|---|---|
| 1 | Every day | New words or words you had difficulty remembering |
| 2 | Every 2 days | Words you've remembered once |
| 3 | Every 4 days | Words you've remembered twice |
| 4 | Every 7 days | Words you've remembered three times |
| 5 | Every 14 days | Words you've remembered four times |
| 6 | Never | Mastered words that don't need further review |
- New words start in Box 1
- If you remember a word correctly, it moves up one box
- If you forget a word, it returns to Box 1
- Words in Box 6 are considered mastered and won't appear in reviews
- Node.js (v18 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/alised/flashcard_react.git
cd flashcard_react- Install dependencies:
npm install- Start the development server:
npm run devTo create a production build locally:
npm run buildThis will create a dist directory with the compiled assets.
To preview the production build:
npm run previewThe application can be deployed to various platforms:
Deploy the contents of the dist directory to any static hosting service like:
- GitHub Pages
- Netlify
- Vercel
- Firebase Hosting
- Build the application using
npm run build - Serve the
distdirectory using a web server like Nginx or Apache - Configure your web server to handle client-side routing
- Add new words in the Words section
- Review due words in the Learn section
- Import/Export your collection in the Database section
- Customize your experience in the Settings section
- React
- TypeScript
- Tailwind CSS
- Vite
- IndexedDB (via Dexie.js)
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.



