# Somali Dictionary
A production-ready English and Somali dictionary platform built with a Next.js frontend, an Express REST API, and MongoDB Atlas. The app supports public dictionary search, word details, category browsing, secure admin management, and CSV/XLSX bulk import.
## Latest Updates
- Added 1000+ English and Somali dictionary words in MongoDB Atlas
- Added About Us page
- Added Categories and category browsing pages
- Added Word Details page
- Improved homepage UI with a search-focused experience
- Improved dictionary search with partial matching and suggestions
- Migrated the database from local MongoDB to MongoDB Atlas
- Fixed CSV/XLSX import for Google Sheets exports
- Added General category dataset
- Upgraded admin security to JWT login with bcrypt-hashed passwords
## Features
- English to Somali and Somali to English word lookup
- Case-insensitive partial search with autocomplete suggestions
- Word detail pages with definitions, examples, category, and part of speech
- Browse by category with category word counts
- Secure admin login with email, password, bcrypt hashing, and JWT sessions
- Admin CRUD for dictionary words and categories
- CSV/XLSX import with preview, validation, duplicate checks, and import summary
- MongoDB indexes for scalable search and lookup performance
- Production CORS, rate limiting, Helmet security headers, and health checks
- Prepared for future AI, voice, favorites, popularity, and offline sync features
## Tech Stack
- Frontend: Next.js App Router, React, Tailwind CSS
- Backend: Node.js, Express, Mongoose
- Database: MongoDB Atlas
- Auth: JWT, bcrypt-compatible password hashing
- Uploads/imports: Multer memory storage and `xlsx`
- Deployment targets: Vercel for frontend, Render for backend
## Project Structure
```text
.
|-- client/ # Next.js frontend
| |-- src/app/ # App Router pages
| |-- src/components/ # Search, category, import, and admin UI
| |-- src/lib/ # Front …