Logo Lanfrica

IlyassBartal/llm-darija-translator

Domaine:

natural language processing

Type de record:

software
Créateur:
Ily
Hôte:
# LLM Darija Translator An LLM-powered RESTful web service for translating text from English (or any language) into **Moroccan Arabic Dialect (Darija)** — backed by Google Gemini AI. Built as a complete full-stack project with a Java/Jakarta EE REST backend, secured with HTTP Basic Authentication, and five different client applications. --- ## Features - **Jakarta REST backend** — JAX-RS resource, CDI service layer, Gemini LLM client - **HTTP Basic Authentication** — protects the translate endpoint; health/info are public - **Google Gemini AI** — prompt-engineered to return authentic Darija (not Fusha/Standard Arabic) - **Chrome Extension** — Manifest V3, right-click context menu, side panel, TTS read-aloud - **PHP client** — cURL-based web app with a clean UI - **Python client** — Streamlit app with language selectors - **React Native mobile app** — Expo, works on Android, iOS, and web - **Postman collection** — 9 test requests covering all scenarios - **PlantUML diagrams** — class, deployment, and sequence diagrams - **CORS support** — all clients can call the backend from any origin (local dev) --- ## Tech Stack | Layer | Technology | |----------------|-----------------------------------| | Backend | Java 21, Jakarta EE 10, JAX-RS | | Runtime | Payara Micro 6 | | Config | MicroProfile Config | | LLM Provider | Google Gemini (gemini-1.5-flash) | | Security | HTTP Basic Auth (ContainerRequestFilter) | | JSON | Jakarta JSON-B (request/response) + JSON-P (Gemini parsing) | | Chrome Ext | Manifest V3, chrome.sidePanel, chrome.contextMenus | | PHP Client | PHP 7.4+, cURL | | Python Client | Streamlit, requests | | Mobile Client | React Native, Expo, axios | | Build | Maven 3.9+ | | API Testing | Postman | | Diagrams | PlantUML …