An open API service indexing awesome lists of open source software.

https://github.com/sub-dev/freecodecamp_american-british-english-translator


https://github.com/sub-dev/freecodecamp_american-british-english-translator

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

          

# 🗣️ American/British Translator

Construção de um aplicativo Full Stack JavaScript para tradução entre inglês americano e britânico, funcionalmente similar a este: [American British Translator](https://american-british-translator.freecodecamp.rocks/).

## 📌 Tecnologias Utilizadas

- ![Node.js](https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=node.js&logoColor=white) **Node.js**
- ![Express](https://img.shields.io/badge/Express-000000?style=for-the-badge&logo=express&logoColor=white) **Express.js**
- ![Chai](https://img.shields.io/badge/Chai-A30701?style=for-the-badge&logo=chai&logoColor=white) **Chai.js**
- ![Mocha](https://img.shields.io/badge/Mocha-8D6748?style=for-the-badge&logo=mocha&logoColor=white) **Mocha.js**

## 🚀 Como executar o projeto

### 1️⃣ Clonar o repositório

```bash
git clone https://github.com/Sub-Dev/freecodecamp_american-british-english-translator
cd freecodecamp_american-british-english-translator
```

### 2️⃣ Instalar dependências

```bash
npm install

```

### 3️⃣ Configurar variáveis de ambiente

Crie um arquivo `.env` na raiz do projeto e configure:

```
PORT=3000
NODE_ENV=test
```

### 4️⃣ Rodar o servidor

```bash
npm start
```

### 5️⃣ Executar testes

```bash
npm run test
```

## 🛠️ Funcionalidades Implementadas

### ✨ Endpoints da API

`POST /api/translate`

Recebe um objeto contendo:

- **text: o texto a ser traduzido.**
- **locale: a direção da tradução, que pode ser american-to-british ou british-to-american.**

Retorna:

- **Se algum campo estiver ausente: { error: 'Required field(s) missing' }**
- **Se o texto for enviado mas estiver vazio (após remover espaços): { error: 'No text to translate' }**
- **Se o campo locale tiver um valor inválido: { error: 'Invalid value for locale field' }**
- **Caso contrário, retorna um objeto contendo o texto original e a tradução. As partes traduzidas são envolvidas por span class="highlight">...



Anthony-Marin



Anthony Marin (Sub-Dev) - Perfil no GitHub