Translator AI powered web application that allows users to translate English(either text or voice) to Arabic Darija (Moroccan Dialect) and vice versa
# Darija Genie - English to Moroccan Darija Translator
A full-stack web application for translating between English and Moroccan Arabic (Darija) using Google Gemini AI.
## 🌟 Features
- **Real-time Translation**: Translate English to Darija and vice versa
- **User Authentication**: Signup/Login with translation history
- **Translation History**: Save and view past translations
- **Text-to-Speech**: Audio playback for translations
- **RESTful API**: Jakarta EE backend with JAX-RS
- **React Frontend**: Modern UI with Tailwind CSS
## 🏗️ Architecture
### Backend
- **Java 11** with **Jakarta EE 10**
- **WildFly 37.0.0** Application Server
- **JAX-RS** (RESTEasy) for REST APIs
- **PostgreSQL** for data persistence (optional)
- **Google Gemini AI** for translations
## 📡 API Endpoints
### Authentication
- **POST** /api/users/signup - Register new user
- **POST** /api/users/login - User login
- **GET** /api/users/{username}/history - Get translation history
- **POST** /api/users/{username}/history - Add to history
### Translation
- **POST** /api/translator/translate - Translate text
- **GET** /api/translator/health - Health check
### Frontend
- **React 18** with TypeScript
- **Vite** for build tooling
- **Tailwind CSS** for styling
- **Google GenAI SDK** for client-side fallback
## 🚀 Quick Start
### Prerequisites
- Java 11 or higher
- Maven 3.6+
- Node.js 18+ and npm
- WildFly 37.0.0+
- PostgreSQL (optional, in-memory storage available for local development)
### Backend Setup
1. **Clone and build:**
```bash
git clone
github.com
cd DarijaGenie
mvn clean package