๐ง Web Development Flashcards App
A modern, intelligent flashcard application built with React 19 and TypeScript for learning web development concepts, frontend/backend technologies and DevOps tools.

โจ Features
๐ฏ Core Functionality
- 4 Web Development Decks - 41 cards covering frontend development, backend development, web fundamentals and DevOps
- Intelligent Spaced Repetition - SM-2 algorithm for optimal memory retention
- Interactive Flashcards - Multiple UI variants (Original, Beautiful, Elite, 2025) with 3D flip animations
- Advanced Study Sessions - Progress tracking, response time analysis and session analytics
- Complete CRUD Operations - Create, edit and delete your own cards and decks
- Comprehensive Security - CSRF protection, input sanitization, and secure storage
- Full Accessibility - WCAG AA compliant with screen reader support
๐จ User Experience
- Fully Responsive Design - Optimized for mobile, tablet and desktop
- Modern CSS with OKLCH Colors - Beautiful gradients and fluid typography
- Multiple UI Experiments - Exploring different design approaches (Beautiful, Elite, 2025 variants)
- CSS Masters Implementation - Phase 1 complete with @property declarations, professional easing, container queries
- Universal Accessibility - Keyboard navigation, screen readers, high contrast support
- Security Headers - CSP, X-Frame-Options, and comprehensive protection
- Offline-First - Secure localStorage persistence for offline use
- React 19 Latest Features - With strict TypeScript and modern hooks
- Code Splitting & Lazy Loading - Optimized bundle with dynamic imports (needs optimization)
- Bundle Size - ~600KB+ total bundle (optimization in progress)
- Security Hardened - CSRF tokens, input sanitization, rate limiting
- Development Active - Multiple experimental components and UI variants
- Comprehensive Test Suite - Vitest with Testing Library
- ESLint + Prettier - Automatic code formatting and linting
- Git Workflow - Feature branches with protected main branch
๐ Web Development Content
๐ป Available Decks
- Frontend Development (12 cards) - React, JavaScript, CSS, TypeScript fundamentals
- Backend Development (10 cards) - REST APIs, databases, Node.js, authentication
- Web Development Fundamentals (10 cards) - Git, HTTP, responsive design, accessibility
- DevOps & Tools (9 cards) - Docker, CI/CD, webpack, build tools
๐ Learning Statistics
- 41 Total Cards distributed across 3 difficulty levels (Easy/Medium/Hard)
- Tech-Focused Content - From basic web concepts to advanced development topics
- Educational Quality - Practical web development knowledge for interviews and work
- Language Support - i18n infrastructure with translation keys (content primarily English)
๐ ๏ธ Tech Stack
Frontend
- React 19.1.0 - Latest React with concurrent features
- TypeScript 5.8 - Strict mode voor type safety
- Vite 7.0 - Modern build tool met HMR
- React Router 7.6 - Client-side routing met SPA support
Styling & Design
- Tailwind CSS 4.1 - Utility-first CSS framework
- Custom CSS Variables - OKLCH colors en design tokens
- Fluid Typography - CSS clamp() voor responsive text
- Inter Font - Professional typography
Development & Testing
- Vitest 3.2 - Fast unit testing
- Testing Library - React component testing
- ESLint 9.30 - Code linting met TypeScript rules
- Prettier 3.6 - Code formatting
๐ Quick Start
Prerequisites
Installatie
# Clone het project
git clone https://github.com/FREEZLER/react19-flash-cards.git
cd react19-flash-cards
# Installeer dependencies
npm install
# Start development server
npm run dev
```bash
### Development Scripts
```bash
# Development server met HMR
npm run dev
# Production build
npm run build
# Preview production build
npm run preview
# Run tests
npm run test
# Tests met UI
npm run test:ui
# Code linting
npm run lint
# Fix linting issues
npm run lint:fix
# Format code
npm run format
๐๏ธ Project Architectuur
flash-cards/
โโโ src/
โ โโโ components/ # React components
โ โ โโโ common/ # Reusable UI components
โ โ โโโ FlashCard.tsx # Main flashcard component
โ โ โโโ StudySession.tsx # Study session with SM-2 algorithm
โ โ โโโ Navigation.tsx # App navigation
โ โโโ contexts/ # React Context providers
โ โ โโโ CardContext.tsx # Global state management
โ โโโ pages/ # Route pages
โ โโโ data/ # Nederlandse flashcard content
โ โโโ types/ # TypeScript type definitions
โ โโโ utils/ # Utility functions
โ โโโ hooks/ # Custom React hooks
โโโ CLAUDE.md # Development context
โโโ PROJECT_FLOWCHART.md # Development roadmap
โโโ docs/ # Additional documentation
- Bundle Size: ~600KB+ total bundle (optimization needed)
- Code Splitting: 8+ lazy-loaded page chunks with experimental components
- First Contentful Paint: Varies (optimization in progress)
- React.memo Optimized - Prevented unnecessary re-renders
- Development Status - Multiple UI variants causing bundle bloat
- CSS Masters Phase 1 - Modern CSS optimizations implemented
- Mobile Responsive - Responsive design for all screen sizes (multiple variants)
๐ฑ Responsive Design
Breakpoint Strategy
- Mobile First - 320px+ basis design
- Small Tablet - 480px+ verbeterde spacing
- Tablet - 768px+ 3-column layouts
- Desktop - 1024px+ optimale gebruik van ruimte
- Large Desktop - 1200px+ maximum comfort
Study Stats Layout
- Mobile: 2ร3 grid voor portrait-vriendelijke weergave
- Desktop: 3ร2 grid voor landscape-optimale layout
- Fluid Typography: CSS clamp() voor perfecte schaalbaarheid
๐งช Testing
# Unit tests
npm run test
# Tests met coverage
npm run test:coverage
# Interactive test UI
npm run test:ui
Test Coverage
- CardContext - State management tests
- FlashCard Component - User interaction tests
- StudySession - Spaced repetition algorithm tests
- Form Validation - Input validation tests
๐ก๏ธ Security & Accessibility
Security Features
- CSRF Protection - Token-based form security
- Input Sanitization - XSS protection met comprehensive validation
- Secure Storage - Encrypted localStorage wrapper
- Rate Limiting - Form submission abuse protection
- Security Headers - CSP, X-Frame-Options, X-Content-Type-Options
- Content Security Policy - Restrictive CSP voor script injection protection
Accessibility Features
- WCAG AA Compliant - Full compliance with accessibility standards
- Screen Reader Support - Complete ARIA labels en semantic HTML
- Keyboard Navigation - Full keyboard accessibility
- High Contrast Support - Automatic adaptation voor visual impairments
- Reduced Motion Support - Respects user preferences voor animations
- Focus Management - Proper focus indicators en management
๐ค Contributing
- Fork het project
- Maak een feature branch (
git checkout -b feature/AmazingFeature
)
- Commit je changes (
git commit -m 'feat: Add some AmazingFeature'
)
- Push naar de branch (
git push origin feature/AmazingFeature
)
- Open een Pull Request
Development Guidelines
- Gebruik TypeScript strict mode
- Volg conventional commit messages
- Schrijf tests voor nieuwe features
- Update CLAUDE.md voor significante wijzigingen
- Gebruik ESLint + Prettier voor code style
- Security First - All user input must be sanitized
- Accessibility First - All features must be accessible
๐ License
Dit project is gelicenseerd onder de MIT License - zie het LICENSE bestand voor details.
๐ฅ Authors
- FREEZLER - Initial development - @FREEZLER
- Claude AI - Development assistance - AI-assisted development
๐ Acknowledgments
- React Team - Voor React 19 en geweldige developer experience
- Vite Team - Voor lightning-fast build tooling
- Tailwind CSS - Voor utility-first CSS framework
- Nederlandse Taal Unie - Voor authentieke Nederlandse content
- Open Source Community - Voor inspiratie en tools
Gemaakt met โค๏ธ voor web developers en tech studenten
Features โข
Content โข
Tech Stack โข
Quick Start โข
Contributing