LLM-powered RESTful web service for translation to Moroccan Darija
# LLM-powered RESTful Web Service for Darija Translation
## Project Overview
This project implements a Java RESTful web service using Jakarta REST to translate text into Moroccan Darija using the Gemini API.
## Features
- Java REST API with `/api/translate`
- Basic Authentication
- Chrome Extension (Manifest V3 + side panel)
- Python Client
- PHP Client
- React Native Mobile Client
## Technologies
- Java 17
- Maven
- Jersey / Jakarta REST
- Grizzly
- Jackson
- Gemini API
- Chrome Extensions Manifest V3
- Python
- PHP
- React Native / Expo
## Run the Backend
1. Set `GEMINI_API_KEY`
2. Run:
```bash
mvn clean compile
mvn exec:java
```
## Test the API
POST `
localhost`
Headers:
- Content-Type: application/json
- Authorization: Basic YWRtaW46MTIzNA==
Body:
```json
{
"text": "Hello"
}
```
## Clients
- `chrome-extension/`
- `python-client/`
- `php-client/`
- `react-native-client/`
## UML
See `uml/` folder.
## Demo
See demo video submitted with the project.