A modern, interactive flashcard application for language learning, built with React and TypeScript.
- Custom Flashcard Creation
- Add terms and translations
- Support for multiple languages
- Optional examples and comments
- Source and target language selection
- Interactive Quiz Mode
- Dynamic quiz generation
- Language-specific filtering
- Progress tracking
- Adaptive difficulty
- Learning Progress
- Track correct/incorrect answers
- Cards marked as "learned" after 10 correct answers
- Visual progress indicators
- Manual learned status toggle
- Modern Design
- Clean, intuitive interface
- Responsive layout
- Card flip animations
- Progress visualization
- Frontend Framework: React with TypeScript
- State Management: Redux Toolkit
- UI Components: Material-UI
- Animations: Framer Motion
- Form Handling: React Hook Form
- Storage: Browser's localStorage
- Build Tool: Create React App
- Clone the repository:
git clone https://github.com/ElRobaMichis/flashcards.git- Install dependencies:
cd flashcards
npm install- Start the development server:
npm start- Open http://localhost:3000 in your browser.
-
Adding Flashcards
- Click "Add Flashcard" tab
- Select source and target languages
- Enter term and translation
- Add optional examples/comments
-
Studying
- Browse cards in the main view
- Click cards to flip and reveal translations
- Mark cards as learned/unlearned
- Track your progress
-
Quiz Mode
- Select source language
- Answer questions to test knowledge
- See immediate feedback
- Track learning progress
# Install dependencies
npm install
# Run development server
npm start
# Build for production
npm run build
# Run tests
npm testThe app is fully responsive and works on:
- Desktop computers
- Tablets
- Mobile phones
- All data is stored locally in your browser
- No external servers or databases
- Your flashcards remain private
Agustin Medrano
This project is licensed under the MIT License - see the LICENSE file for details.