A powerful Terminal User Interface (TUI) application designed to enhance your vocabulary learning experience. Whether you're preparing for standardized tests like GRE, SAT, or simply wanting to expand your vocabulary, Vocab TUI provides an interactive and efficient way to practice and learn new words.
Vocab TUI is a Rust-based terminal application that combines the power of Large Language Models with a clean, intuitive interface to help you master vocabulary. The application features:
- Interactive terminal interface for efficient learning
- Real-time feedback on your word usage
- AI-powered sentence evaluation using Ollama
- Comprehensive word list targeting standardized test preparation
- Score tracking and detailed explanations for improvement
-
Rust Development Environment
- Install Rust using rustup
- Ensure you have Cargo (Rust's package manager) installed
-
Ollama Setup
# Install Ollama curl -fsSL https://ollama.com/install.sh | sh # Pull required models ollama pull llama3.2 ollama pull all-minilm
-
Clone the repository
git clone https://github.com/NishantJoshi00/vocab-tui.git cd vocab-tui
-
Build and run the application
cargo build --release cargo run --release
-
Start the application:
cargo run --release
-
Interface Navigation:
Tab
: Get a new wordEnter
: Submit your sentence for evaluationCtrl+R
: Retry current wordEsc
orCtrl+C
: Exit application
-
Learning Flow:
- A word will be displayed in the top box
- Type a sentence using the word in the input box
- Press Enter to get AI feedback on your usage
- Review your score and the explanation
- Press Tab to move to the next word
- Interactive TUI: Clean and responsive terminal user interface built with Ratatui
- AI-Powered Feedback: Real-time sentence evaluation using Ollama's language models
- Comprehensive Word List: Carefully curated vocabulary targeting standardized tests
- Scoring System: Get immediate feedback on how well you've used the word
- Detailed Explanations: Receive AI-generated explanations to improve your understanding
- Progress Tracking: Monitor your performance with a scoring system
- Please create an issue before starting work on a new feature or bug fix
- Do not work on issues that are already assigned
- Tag your issues appropriately using:
- [BUG] for bug reports
- [FEATURE] for feature requests
- [DOCS] for documentation improvements
- Ensure your code follows the project's style guidelines
- Include tests for new features
- Update documentation as needed