# π²π¦ Darija Translator β English to Moroccan Darija REST API
A secure LLM-powered RESTful web service that translates English text into real Moroccan Darija, built with Jakarta EE, JAX-RS, and deployed using Payara Micro.
The system is connected to real client applications, including a PHP web client and a Chrome Extension (Manifest V3).
This project was developed as a Master-level academic project, with a strong focus on REST architecture, security, reusability, and practical usability.
---
## π¬ Video Demonstration (Start Here)
π **Watch the full live demo of the project here:**
**This video demonstrates:**
- the REST API running on Payara Micro
- authentication using Jakarta Security (Basic Auth)
- live API tests with Postman
- the PHP client in action
- the Chrome Extension (side panel, text selection, voice input, and text-to-speech)
β±οΈ **Duration:** ~5 minutes
π― **Purpose:** Live academic demonstration of the complete system
---
## π Table of Contents
- Features
- Architecture
- Technologies Used
- Project Structure
- Quick Start
- API Documentation
- Client Applications
- Security
- Testing
- Deployment
- Extensions & Future Work
---
## β¨ Features
### Core Features
- β
RESTful API implemented with JAX-RS
- β
LLM-powered translation (English β Moroccan Darija)
- β
HTTP Basic Authentication using Jakarta Security
- β
Payara Micro (Jakarta EE embedded server)
- β
Health check endpoint
- β
Environment-based API key configuration
### Client Applications
- β
PHP Web Client using cURL
- β
Chrome Extension (Manifest V3) with side panel
- β
API testing via Postman, SoapUI, and cURL
- β
Secure and authenticated REST communication
### Advanced Capabilities
- β
Prompt engineering for high-quality Darija output
- β
Voice input (Chrome Extension)
- β
Text-to-Speech output (Chrome Extension)
- β
Automatic text selection from web pages
---
## ποΈ Architecture
```
ββββββββββββββββββββββββββββββββββββββββββββ
β Client Layer β
βββββ β¦