Logo Lanfrica

salma-elbakkouri/Darija-Translator

Domain:

natural language processing

Record type:

software
Creator:
sal
Host:
# Project N°1 - LLM Powered Translation App This project focuses on developing an LLM-based application, which involves creating a RESTful web service to be accessed by two client platforms: a web/mobile app built with the technology of our choice and a Chrome extension for enhanced flexibility and ease of use. In this README file, I will provide an overview of the project, outline the technologies used, describe the implemented features, and offer a step-by-step guide on how to install and run the application locally. ## Project Overview This project provides translation services from multiple languages using an LLM model, integrating 3 main components: | Component | Technologies Used | |-----------|------------------| | **Backend (API)** | Node.js, Express, Gemini AI API | | **Frontend (Web & Mobile App)** | React Native, Expo | | **Frontend (Extension)** | HTML, CSS, JavaScript, Manifest V3 | **Extra Components:** | Component | Tools/APIs Used | |-----------|----------------| | **Testing** | Postman, Thunder Client | | **Backend Communication** | Fetch API | | **Text-to-Speech (Web)** | Speech Synthesis Browser API | | **Text-to-Speech (Mobile)** | Expo Speech Library | ## Full Pipeline The following diagram represents the complete pipeline of the application, illustrating the full flow from user interaction through the backend processing to the final output: ## Architecture The project follows a **client-server** architecture where three frontend clients (Web, Mobile, and Extension) consume the backend API (Node.js server) via HTTP requests using the **Fetch API**. The backend communicates with the **Gemini AI model** by building and sending prompts, then returns the translation response to the clients. The API is **secured** with **authentication**, meaning translation can only be performed if the user is authenticated correctly. ## Backend API The backend is a RESTful API built with Node.js and Express that handles translation requests. **Key …