Logo Lanfrica

douaabritel/darija-translator

Domaine:

natural language processing

Type de record:

software
Créateur:
dou
Hôte:
# Darija Translator — LLM-powered RESTful Web Service > **Mini Project 2** · Pr. El Habib Nfaoui > A secured Jakarta RESTful Web Service that translates text from any source language into **Moroccan Arabic Dialect (Darija)** using the Google Gemini AI API. --- ## Architecture Overview ``` ┌─────────────────────────────────────────┐ │ GlassFish 8 Application Server │ │ │ │ darija-translator.war │ │ ├── TranslatorApplication (/api) │ │ ├── TranslatorResource (/translator)│ │ ├── GeminiTranslationService ─────────────► Google Gemini API │ ├── CorsFilter │ │ └── Basic Auth (web.xml) │ └─────────────────────────────────────────┘ ▲ ▲ ▲ ▲ Chrome Ext PHP Client Python React Native (Manifest V3) (web + CLI) (GUI/CLI) (Expo) ``` --- ## Project Structure ``` darija-translator/ ├── rest-service/ # Maven WAR project (Jakarta EE 10) │ ├── pom.xml │ └── src/main/java/ma/translator/ │ ├── TranslatorApplication.java # JAX-RS bootstrap (@ApplicationPath /api) │ ├── resource/ │ │ ├── TranslatorResource.java # REST endpoints │ │ └── CorsFilter.java # CORS response filter │ ├── service/ │ │ ├── TranslationService.java # Interface (swap LLM providers easily) │ │ ├── GeminiTranslationService.java │ │ └── TranslationException.java │ └── model/ │ ├── TranslationRequest.java │ └── TranslationResponse.java │ ├── chrome-extension/ # Manifest V3 Chrome extension │ ├── manifest.json │ ├── background.js # Service worker │ ├── content.js # Text-selection listener │ ├── sidepanel.html / sidepanel.js # Side panel UI │ └── icons/ │ ├── php-client/ │ └── index.php # Web form + CLI PHP client │ ├── python-client/ │ ├── client. …