FAQ.md - himent12/FlashGenie GitHub Wiki

โ“ FlashGenie Frequently Asked Questions

Quick answers to the most common questions about FlashGenie. Find solutions to common issues, learn about features, and get tips for optimal usage.

๐Ÿš€ Getting Started

Q: How do I install FlashGenie?

A: FlashGenie can be installed in several ways:

# Method 1: From source (recommended)
git clone https://github.com/himent12/FlashGenie.git
cd FlashGenie
pip install -r requirements.txt
python -m flashgenie --version

# Method 2: Direct installation (when available)
pip install flashgenie

# Method 3: Development mode
pip install -e .

For detailed instructions, see our Installation Guide.

Q: What are the system requirements?

A: Minimum requirements:

  • Python: 3.8 or higher
  • RAM: 2GB (4GB recommended)
  • Storage: 500MB free space
  • OS: Windows 10+, macOS 10.14+, or Linux

For large datasets (10K+ cards), we recommend 8GB RAM and SSD storage.

Q: How do I create my first flashcard deck?

A: You can create decks in several ways:

# Interactive creation
flashgenie create "My First Deck" "Learning Python basics"

# Import from CSV
flashgenie import my_cards.csv --deck "Imported Deck"

# Add cards manually
flashgenie add "My First Deck"

See our Quick Start Tutorial for a complete walkthrough.


๐Ÿ“š Using FlashGenie

Q: How does the spaced repetition algorithm work?

A: FlashGenie uses an enhanced SM-2 algorithm that:

  1. Schedules reviews based on your performance
  2. Adjusts intervals dynamically (1 day โ†’ 3 days โ†’ 7 days โ†’ 16 days...)
  3. Considers difficulty and confidence levels
  4. Adapts to your learning patterns over time

The algorithm ensures you review cards just before you're likely to forget them, maximizing retention efficiency.

Q: Can I import flashcards from other apps?

A: Yes! FlashGenie supports multiple import formats:

  • Anki: .apkg files (via plugin)
  • CSV: Most common format
  • Excel: .xlsx files
  • Text: Structured .txt files
  • JSON: FlashGenie native format
# Import from Anki
flashgenie import my_anki_deck.apkg --format anki

# Import from CSV
flashgenie import flashcards.csv --deck "Imported Cards"

See our File Formats Guide for detailed format specifications.

Q: How do I backup my data?

A: FlashGenie offers multiple backup options:

# Manual backup
flashgenie backup create --output my_backup.json

# Encrypted backup
flashgenie backup create --encrypt --password

# Automatic backups (configure once)
flashgenie config set data.storage.auto_backup true
flashgenie config set data.storage.backup_frequency daily

Backups include all your decks, progress, and settings.


๐Ÿง  Smart Features

Q: What is adaptive difficulty adjustment?

A: FlashGenie automatically adjusts card difficulty based on:

  • Response time: How quickly you answer
  • Accuracy: Whether you get it right
  • Confidence: Your self-reported confidence
  • Historical performance: Your past performance with the card

This ensures cards remain challenging but not frustrating.

Q: How do smart collections work?

A: Smart collections automatically group cards based on criteria:

# Create a collection for struggling cards
flashgenie collection create "Need Practice" \
  --filter "success_rate:<0.6" \
  --auto-update

# Collection for recent cards
flashgenie collection create "This Week" \
  --filter "created_after:7d"

Collections update automatically as your progress changes.

Q: Can I customize the learning algorithm?

A: Yes! You can adjust algorithm parameters:

# Adjust spaced repetition settings
flashgenie config set learning.spaced_repetition.easy_factor 2.8
flashgenie config set learning.spaced_repetition.minimum_interval 2

# Modify difficulty analysis
flashgenie config set learning.difficulty.adjustment_sensitivity 0.7

Advanced users can also create custom algorithms via plugins.


๐Ÿ”ง Configuration and Customization

Q: How do I change the interface colors?

A: FlashGenie supports color customization:

# Enable/disable colors
flashgenie config set interface.cli.use_colors true

# Change color scheme
flashgenie config set interface.cli.color_scheme "dark"

# Disable colors for accessibility
export FLASHGENIE_NO_COLOR=1

Q: Can I use FlashGenie offline?

A: Absolutely! FlashGenie is designed to work completely offline:

  • No internet required for core functionality
  • Local data storage keeps everything on your device
  • Offline algorithms for spaced repetition and difficulty analysis
  • Optional cloud sync available via plugins

Q: How do I set up study reminders?

A: Configure notifications in your settings:

# Enable study reminders
flashgenie config set interface.notifications.study_reminders.enabled true
flashgenie config set interface.notifications.study_reminders.frequency daily
flashgenie config set interface.notifications.study_reminders.time "09:00"

# Set quiet hours
flashgenie config set interface.notifications.study_reminders.quiet_hours.start "22:00"
flashgenie config set interface.notifications.study_reminders.quiet_hours.end "08:00"

โšก Performance and Troubleshooting

Q: FlashGenie is running slowly with large decks. How can I optimize it?

A: For large datasets (10K+ cards), try these optimizations:

# Enable performance optimizations
flashgenie config set performance.cache.size 10000
flashgenie config set performance.memory.lazy_loading true
flashgenie config set performance.parallel.enabled true

# Split large decks
flashgenie split "Large Deck" --size 5000

# Use SSD storage
flashgenie config set storage.data_directory "/path/to/ssd/flashgenie"

See our Performance Optimization Guide for detailed tuning.

Q: I'm getting memory errors. What should I do?

A: Reduce memory usage with these settings:

# Limit memory usage
flashgenie config set performance.memory.limit "1GB"
flashgenie config set performance.cache.size 2000
flashgenie config set performance.memory.preload_cards false

# Enable garbage collection
flashgenie config set performance.memory.gc_threshold 0.6

# Clean up temporary files
flashgenie cleanup --temp-files --cache

Q: How do I reset FlashGenie to default settings?

A: You can reset various aspects:

# Reset all configuration
flashgenie config reset --confirm

# Reset specific settings
flashgenie config reset learning.spaced_repetition

# Reset and keep data
flashgenie reset --config-only

# Complete reset (WARNING: deletes all data)
flashgenie reset --all --confirm

๐Ÿ”’ Security and Privacy

Q: Is my data safe and private?

A: Yes! FlashGenie prioritizes your privacy:

  • Local storage: All data stays on your device
  • No tracking: No personal data collection
  • Open source: Code is publicly auditable
  • Encryption: Optional data encryption available
  • No cloud dependencies: Works completely offline

Q: How do I enable data encryption?

A: Enable encryption for sensitive data:

# Enable encryption for new installations
flashgenie setup --enable-encryption

# Enable encryption for existing data
flashgenie encrypt enable --backup-first

# Change encryption password
flashgenie encrypt change-password

Q: Can I use FlashGenie in a corporate environment?

A: Yes! FlashGenie supports enterprise deployment:

  • No external connections required
  • Configurable security settings
  • Audit logging available
  • Compliance features for GDPR, etc.
  • Bulk deployment scripts available

See our Security and Privacy Guide for enterprise setup.


๐Ÿ”Œ Plugins and Extensions

Q: How do I install plugins?

A: FlashGenie supports a plugin system:

# List available plugins
flashgenie plugin list --available

# Install a plugin
flashgenie plugin install anki-importer

# Enable/disable plugins
flashgenie plugin enable study-reminders
flashgenie plugin disable analytics-plugin

# Update plugins
flashgenie plugin update --all

Q: Can I create my own plugins?

A: Absolutely! FlashGenie has a flexible plugin architecture:

# Example plugin structure
from flashgenie.plugins import BasePlugin

class MyPlugin(BasePlugin):
    name = "my_custom_plugin"
    version = "1.0.0"
    
    def on_quiz_complete(self, session_data):
        # Your custom logic here
        pass

See our Extension Development Guide for detailed instructions.


๐Ÿ“Š Data Management

Q: How do I export my data?

A: FlashGenie supports multiple export formats:

# Export to JSON (recommended)
flashgenie export "My Deck" output.json

# Export to CSV for compatibility
flashgenie export "My Deck" output.csv --format csv

# Export with statistics
flashgenie export "My Deck" output.json --include-stats

# Export all decks
flashgenie export --all-decks backup_all.json

Q: Can I merge multiple decks?

A: Yes, you can combine decks:

# Merge decks
flashgenie merge "Deck 1" "Deck 2" --output "Combined Deck"

# Merge with duplicate handling
flashgenie merge "Deck A" "Deck B" --duplicates skip --output "Merged"

# Merge from files
flashgenie merge deck1.json deck2.json --output combined.json

Q: How do I handle duplicate cards?

A: FlashGenie provides duplicate detection:

# Find duplicates
flashgenie duplicates find "My Deck"

# Remove duplicates
flashgenie duplicates remove "My Deck" --strategy keep-first

# Merge similar cards
flashgenie duplicates merge "My Deck" --similarity 0.8

๐ŸŽฏ Study Strategies

Q: What's the best way to study with FlashGenie?

A: Follow these best practices:

  1. Regular sessions: Study 15-30 minutes daily
  2. Trust the algorithm: Review cards when scheduled
  3. Use confidence ratings: Be honest about your knowledge
  4. Create quality cards: Clear, concise questions and answers
  5. Use tags: Organize cards by topic or difficulty

Q: How should I create effective flashcards?

A: Follow these guidelines:

  • One concept per card: Keep cards focused
  • Use active recall: Ask "what" or "how" questions
  • Include context: Add relevant examples
  • Use images: Visual aids improve memory
  • Test both directions: Questionโ†’Answer and Answerโ†’Question

Q: Can I study multiple decks together?

A: Yes! Use smart collections or deck merging:

# Create a study collection from multiple decks
flashgenie collection create "Today's Study" \
  --decks "Math,Science,History" \
  --filter "due_today:true"

# Temporary merge for study session
flashgenie study --decks "Deck1,Deck2,Deck3" --mixed

๐Ÿ†˜ Getting Help

Q: Where can I get more help?

A: Multiple support channels are available:

  • Documentation: Comprehensive guides and tutorials
  • GitHub Issues: Bug reports and feature requests
  • Community Forum: User discussions and tips
  • Discord/Slack: Real-time chat support
  • Email Support: Direct contact for complex issues

Q: How do I report a bug?

A: Report bugs through GitHub:

  1. Check existing issues first
  2. Provide detailed information:
    • FlashGenie version
    • Operating system
    • Steps to reproduce
    • Error messages
  3. Include logs if available:
    flashgenie logs export --last-session
    

Q: How can I contribute to FlashGenie?

A: We welcome contributions!

  • Code contributions: See our Contributing Guide
  • Documentation: Help improve guides and tutorials
  • Testing: Report bugs and test new features
  • Translations: Help localize FlashGenie
  • Community support: Help other users

๐Ÿ”— Quick Links


Still have questions? Join our community discussions or check our comprehensive documentation for more detailed information! ๐Ÿงžโ€โ™‚๏ธโœจ