{"id":24716632,"url":"https://github.com/keepserene/dictionary-web-app-react","last_synced_at":"2025-12-30T23:49:48.841Z","repository":{"id":273284185,"uuid":"919176642","full_name":"KeepSerene/dictionary-web-app-react","owner":"KeepSerene","description":"Challenge: https://www.frontendmentor.io/challenges/dictionary-web-app-h5wwnyuKFL","archived":false,"fork":false,"pushed_at":"2025-01-20T16:52:12.000Z","size":186,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-27T09:13:15.720Z","etag":null,"topics":["accessibility","css3","dictionary-api","dictionary-application","frontend-development","frontend-mentor","localstorage","reactjs","responsive-design","semantic"],"latest_commit_sha":null,"homepage":"https://phrase-fox-alpha.vercel.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KeepSerene.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-19T22:11:26.000Z","updated_at":"2025-01-20T16:52:13.000Z","dependencies_parsed_at":"2025-01-20T01:27:16.255Z","dependency_job_id":"ade2b8b3-8edd-40d6-aaa3-f65de27bab9d","html_url":"https://github.com/KeepSerene/dictionary-web-app-react","commit_stats":null,"previous_names":["keepserene/dictionary-web-app-react"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeepSerene%2Fdictionary-web-app-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeepSerene%2Fdictionary-web-app-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeepSerene%2Fdictionary-web-app-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeepSerene%2Fdictionary-web-app-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KeepSerene","download_url":"https://codeload.github.com/KeepSerene/dictionary-web-app-react/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244932660,"owners_count":20534199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","css3","dictionary-api","dictionary-application","frontend-development","frontend-mentor","localstorage","reactjs","responsive-design","semantic"],"created_at":"2025-01-27T09:13:25.975Z","updated_at":"2025-12-30T23:49:48.814Z","avatar_url":"https://github.com/KeepSerene.png","language":"JavaScript","readme":"# PhraseFox - Modern Dictionary Web App\n\nPhraseFox is a feature-rich dictionary web application that offers a seamless word exploration experience with multiple themes, fonts, and comprehensive word information.\n\n![PhraseFox Desktop View](./public/phrase-fox.png)\n\n## 🌐 Live Demo\n\n[View Live Demo](https://phrase-fox-alpha.vercel.app/)\n\n## ✨ Features\n\n- **Word Search \u0026 Definitions**\n\n  - Comprehensive word definitions\n  - Multiple meanings and usage examples\n  - Part of speech categorization\n  - Clickable synonyms and antonyms for quick search\n\n- **Audio \u0026 Phonetics**\n\n  - Word pronunciation audio playback\n  - Phonetic transcriptions\n  - Play/pause audio controls\n\n- **Theme Customization**\n\n  - Dark/Light mode toggle\n  - Three font family options:\n    - Sans-serif (Lora)\n    - Serif (Inter)\n    - Monospace (Inconsolata)\n  - Local storage for user preferences\n\n- **Error Handling**\n  - Graceful error messages\n  - No-result handling\n  - Network error management\n  - Loading states\n\n## 🛠️ Tech Stack\n\n- **Framework:** React 18\n- **Build Tool:** Vite\n- **State Management:** React Context API\n- **Styling:** Pure CSS with CSS Modules\n- **API:** Free Dictionary API\n- **Deployment:** Vercel\n\n## 💅 Styling Approach\n\n- CSS Variables for theme colors and typography\n- Mobile-first responsive design\n- CSS Grid and Flexbox for layouts\n- CSS Modules for component-scoped styling\n- Smooth transitions and animations\n\n## ♿ Accessibility Features\n\n- ARIA labels for interactive elements\n- Semantic HTML structure\n- Keyboard navigation support\n- Screen reader friendly content\n- Color contrast compliance\n- Focus management\n- Skip links\n- Proper heading hierarchy\n\n## 📱 Responsive Design\n\n- Mobile-first approach\n- Fluid typography\n- Responsive layouts\n- Adaptive UI elements\n- Touch-friendly interactions\n- Cross-browser compatibility\n\n## 🚀 Getting Started\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/KeepSerene/dictionary-web-app-react.git\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n3. Run development server:\n\n   ```bash\n   npm run dev\n   ```\n\n4. Build for production:\n   ```bash\n   npm run build\n   ```\n\n## 🧰 Project Structure\n\n```\nsrc/\n├── components/\n│   ├── AppContent/\n│   ├── Error/\n│   ├── Header/\n│   ├── SearchForm/\n│   ├── SearchResult/\n│   └── WelcomeNote/\n├── utils/\n├── App.jsx\n└── main.jsx\n```\n\n## 👤 Author\n\n**Dhrubajyoti Bhattacharjee**\n\n- Portfolio: [MathToDev](https://math-to-dev.vercel.app/)\n- GitHub: [@KeepSerene](https://github.com/KeepSerene)\n- LinkedIn: [Dhrubajyoti Bhattacharjee](https://www.linkedin.com/in/dhrubajyoti-bhattacharjee-320822318/)\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- [Free Dictionary API](https://dictionaryapi.dev/) for the dictionary data\n- [Google Fonts](https://fonts.google.com/) for the typography\n- [Heroicons](https://heroicons.com/) for the icons\n\n## 💡 Future Improvements\n\n- Add word of the day feature\n- Implement word history\n- Add multiple language support\n- Include more pronunciation options\n- Add word etymology information\n- Implement word bookmarking\n\n---\n\nFeel free to star ⭐ this repository if you find it helpful!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeepserene%2Fdictionary-web-app-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeepserene%2Fdictionary-web-app-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeepserene%2Fdictionary-web-app-react/lists"}