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

https://github.com/isaque-s-0liveira/traduzo

Ferramenta de tradução de textos entre vários idiomas utilizando Python e o framework Flask para criar uma aplicação Server-Side. A aplicação permitirá que os usuários realizem traduções de textos entre diferentes idiomas, utilizando uma interface web gerada no backend e interagindo com um banco de dados não relacional (MongoDB).
https://github.com/isaque-s-0liveira/traduzo

docker flask google-translate-api jinja2 mongodb pytest python

Last synced: 3 months ago
JSON representation

Ferramenta de tradução de textos entre vários idiomas utilizando Python e o framework Flask para criar uma aplicação Server-Side. A aplicação permitirá que os usuários realizem traduções de textos entre diferentes idiomas, utilizando uma interface web gerada no backend e interagindo com um banco de dados não relacional (MongoDB).

Awesome Lists containing this project

README

          

# Traduzo

Preview


page1

## Contexto do Projeto

O foco principal deste projeto é, com base nos ensinamentos da **Trybe**, desenvolver uma ferramenta de tradução de textos entre vários idiomas utilizando **Python** e o framework **Flask** para criar uma aplicação Server-Side. A aplicação permitirá que os usuários realizem traduções de textos entre diferentes idiomas, utilizando uma interface web gerada no backend e interagindo com um banco de dados não relacional (**MongoDB**). A aplicação oferece suporte à tradução reversa e mantém um histórico das traduções realizadas.

O que é a Trybe?🤔
A Trybe é uma escola de desenvolvimento web genuinamente comprometida com o sucesso profissional de seus estudantes. Com o Modelo de Sucesso Compartilhado (MSC) oferecido pela Trybe Fintech, uma instituição financeira autorizada pelo Banco Central do Brasil, os alunos têm a opção de pagar apenas quando estiverem trabalhando.

A aplicação é construída utilizando a arquitetura **MVC (Model-View-Controller)**, separando as responsabilidades da camada de dados, lógica de negócios e apresentação. Além disso, foram aplicados conceitos de **Orientação a Objetos (POO)** no desenvolvimento das funcionalidades e das interações com o banco de dados.

### Principais Funcionalidades:

1. **Tradução de textos**:
- Através de um formulário, os usuários podem inserir o texto a ser traduzido e selecionar os idiomas de origem e destino.
- A tradução é realizada utilizando a biblioteca **GoogleTranslator** e os resultados são exibidos na mesma página.

2. **Tradução reversa**:
- Existe uma opção de inversão de tradução, onde os idiomas de origem e destino são trocados, realizando a tradução no sentido inverso.

3. **Interação com MongoDB**:
- As informações de idiomas e o histórico de traduções são armazenados no banco de dados **MongoDB**, utilizando classes modelos que interagem com a base de dados.

4. **Teste de funcionalidades**:
- São implementados testes para garantir o funcionamento correto das funcionalidades, incluindo a listagem de idiomas e a conversão de dados para JSON.

### Habilidades desenvolvidas:
- Implementação de uma **API RESTful** utilizando arquitetura em camadas (MVC).
- Manipulação de dados em um banco **MongoDB**.
- Criação de páginas web dinâmicas usando **Flask** com renderização server-side.
- Aplicação de testes unitários para garantir a qualidade e confiabilidade do código.
- Uso de **Docker** para containerizar o projeto e gerenciar as dependências e o ambiente de execução.
- Integração com a API do **GoogleTranslator** para tradução de textos.

---

## Tecnologias Usadas

- [Python](https://www.python.org/) - Linguagem de programação utilizada para o backend da aplicação.
- [Flask](https://flask.palletsprojects.com/) - Framework web utilizado para criar a aplicação server-side.
- [MongoDB](https://www.mongodb.com/) - Banco de dados não relacional usado para armazenar idiomas e histórico de traduções.
- [GoogleTranslator API](https://py-googletrans.readthedocs.io/en/latest/) - API utilizada para realizar as traduções entre os idiomas.
- [Docker](https://www.docker.com/) - Ferramenta de containerização usada para gerenciar o ambiente de desenvolvimento e execução da aplicação.
- [Pytest](https://pytest.org/) - Framework de testes utilizado para garantir a qualidade do código e das funcionalidades implementadas.
- [Jinja2](https://jinja.palletsprojects.com/) - Motor de templates usado para renderizar as páginas HTML dinâmicas com dados do backend.

## Entre em contato:

E-mail

isaque oliveira
WhatsApp