Logo Lanfrica

MariaChmite/darija-translator

Domaine:

natural language processing

Type de record:

software
Créateur:
Mar
HĂŽte:
# đŸ‡Č🇩 Darija Translator — Full-Stack Project LLM-powered REST service that translates text into Moroccan Arabic Dialect (Darija), with a Chrome extension, PHP client, Python client, and React Native mobile app. --- ## Project Structure ``` darija-translator/ ├── java-service/ ← Jakarta EE REST service (WAR) │ ├── pom.xml │ └── src/main/java/ma/translator/ │ ├── TranslatorApplication.java JAX-RS bootstrap (@ApplicationPath) │ ├── resource/ │ │ ├── TranslatorResource.java REST endpoint │ │ └── CorsFilter.java CORS for browser clients │ ├── service/ │ │ └── TranslationService.java Calls Google Gemini API │ ├── security/ │ │ ├── SecurityConfig.java @BasicAuthenticationMechanismDefinition │ │ └── DarijaIdentityStore.java In-memory user store │ └── model/ │ ├── TranslationRequest.java │ └── TranslationResponse.java │ ├── chrome-extension/ ← Manifest V3 Chrome Extension │ ├── manifest.json │ ├── background.js Service worker: context menu, message routing │ ├── sidepanel.html Side panel UI │ └── sidepanel.js Logic: translate, TTS, speech, history │ ├── php-client/ │ └── client.php CLI + web interface │ ├── python-client/ │ └── client.py CLI + interactive REPL │ ├── react-native-client/ │ ├── package.json │ └── App.js Full mobile app (Expo) │ └── test_api.sh cURL test commands ``` --- ## 1 — Java REST Service ### Prerequisites - JDK 17+ - Maven 3.9+ - A free Google Gemini API key → ai.google.dev ### Get a Gemini API Key 1. Go to aistudio.google.com 2. Click **Create API key** 3. Copy the key — you'll set it as an environment variable ### Build & Run (Payara Micro — embedded, no server install needed) ```bash cd java-service export GEMINI_API_KEY=y