A modern, feature-rich dictionary web application built with React and Chakra UI that allows users to look up word definitions, translations, listen to pronunciations, and save favorite words.
| Favorite and Translation | User History and Favorite |
|---|---|
![]() |
![]() |
| No Audio Message | Font Selector and Dark Theme and Generate Random |
![]() |
 |
- Word Definitions: Get detailed definitions, examples, synonyms, and parts of speech using the Free Dictionary API
- Audio Pronunciation: Listen to the correct pronunciation of words
- Random Word Generator: Discover new vocabulary with a random word feature
- Responsive Design: Works seamlessly on desktop and mobile devices
- Dark/Light Theme: Toggle between dark and light modes for comfortable reading in any environment
- Font Customization: Choose from multiple font families (Inter, Inconsolata, Lora)
- Search History: View and access your recent searches
- Error Handling: Clear feedback when words aren't found or errors occur
- User Authentication: Create an account to save your preferences and favorites
- Persistent Storage: User data saved via localStorage
- Favorites System: Save words to review later
- Search History: Track and revisit your previously searched words
- Word Translation: Translate words to multiple languages
- Supported Languages: Spanish, French, German, Italian, Portuguese, and more
- Language Switching: Easily switch between different target languages
- React: Frontend library for building the user interface
- Vite: Build tool and development server
- Chakra UI: Component library for consistent styling
- APIs:
- Dictionary API (dictionaryapi.dev)
- Translation API
- Random Word API
- LocalStorage: For persistent data storage
- PropTypes: Type checking for React components
- Node.js (v14.0.0 or later)
- npm or yarn
- Clone the repository
git clone https://github.com/yourusername/dictionary-web-app.git
cd dictionary-web-app- Install dependencies
npm install- Start the development server
npm run dev- Open your browser and navigate to
http://localhost:5173
- Search for a word: Type a word in the search box and press enter or click the search icon
- Listen to pronunciation: Click on the speaker icon to hear the word
- Add to favorites: If logged in, click the star icon to add a word to your favorites
- Change theme: Toggle between light and dark modes using the theme switch
- Change font: Select your preferred font from the dropdown
- Translate: Choose a target language from the dropdown to see the translation
- Random word: Click the "Random" button to discover a new word
- Login/Register: Create an account to save your favorites and search history
- Flashcards Game: Educational feature for learning saved words through spaced repetition
- Advanced Search Filters: Search by part of speech, origin, or other criteria
- Word of the Day: Daily featured word with notifications
- Offline Mode: Access basic functionality without an internet connection
- Mobile Application: Native mobile app for iOS and Android
- User-contributed Content: Allow users to add examples or notes to words
- Social Features: Share interesting words with friends or social media
- Progress Tracking: Track vocabulary growth and learning progress
Contributions are welcome! Please feel free to submit a Pull Request or create an issue for any bugs or feature suggestions.
This project is licensed under the MIT License - see the LICENSE file for details.
- Free Dictionary API
- Random Word API
- MyMemory Translation API
- Font families: Inter, Inconsolata, and Lora




