The Runyoro-Rutooro Dictionary is a digital language resource that provides translations and audio pronunciations for words in Runyoro/Rutooro, English, and Swahili. The project aims to preserve and promote the Runyoro-Rutooro language, spoken primarily in Western Uganda.
# Runyoro-Rutooro Dictionary
A modern, full-stack web dictionary application for the Runyoro-Rutooro language, built with React Router v7 and deployed on Cloudflare's edge network.
## π About the Project
The Runyoro-Rutooro Dictionary is a digital language resource that provides translations and audio pronunciations for words in Runyoro/Rutooro, English, and Swahili. The project aims to preserve and promote the Runyoro-Rutooro language, spoken primarily in Western Uganda.
### Key Features
- **π Full-Text Search**: Fast, fuzzy search across all dictionary entries using SQLite FTS5
- **π€ Alphabetical Browse**: Interactive radial dial for browsing words by first letter
- **π΅ Audio Pronunciations**: Native speaker audio for ~2,000+ words served from Cloudflare R2
- **π± Responsive Design**: Optimized mobile and desktop experiences with adaptive layouts
- **β‘ Edge-First**: Deployed on Cloudflare Workers for global low-latency access
- **π¨ Modern UI**: Clean, accessible interface with smooth animations using Framer Motion
- **π SEO Optimized**: Individual URLs for each word with proper meta tags
> [!IMPORTANT] > **Educational Purpose**: This project is created for educational and learning purposes to demonstrate modern web development practices using React Router v7, Cloudflare Workers, and edge computing technologies.
>
> **Data Ownership**: The dictionary data (translations and audio pronunciations) used in this project is sourced from runyorodictionary.com. I do not own or claim ownership of this data. All content rights belong to their respective owners. This project serves as a technical implementation showcase and tribute to the original work.
## ποΈ Architecture
### Tech Stack
- **Frontend**: React 19 + React Router v7 (Framework Mode)
- **Backend**: Cloudflare Workers (Edge Runtime)
- **Database**: Cloudflare D1 (SQLite) with Drizzle ORM
- **Storage**: Cloudflare R2 for audio files
- **Styling**: Tailwind CSS v4
- **Animations**: Framer Motion
- **Build Too β¦