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).
- Host: GitHub
- URL: https://github.com/isaque-s-0liveira/traduzo
- Owner: isaque-S-0liveira
- Created: 2023-12-06T23:38:45.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-09T18:51:35.000Z (almost 2 years ago)
- Last Synced: 2025-02-23T20:31:47.836Z (over 1 year ago)
- Topics: docker, flask, google-translate-api, jinja2, mongodb, pytest, python
- Language: Python
- Homepage:
- Size: 271 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Traduzo
Preview
## 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.