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.
-
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.
-
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.
-
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.
-
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.
- 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.
- Python - Linguagem de programação utilizada para o backend da aplicação.
- Flask - Framework web utilizado para criar a aplicação server-side.
- MongoDB - Banco de dados não relacional usado para armazenar idiomas e histórico de traduções.
- GoogleTranslator API - API utilizada para realizar as traduções entre os idiomas.
- Docker - Ferramenta de containerização usada para gerenciar o ambiente de desenvolvimento e execução da aplicação.
- Pytest - Framework de testes utilizado para garantir a qualidade do código e das funcionalidades implementadas.
- Jinja2 - Motor de templates usado para renderizar as páginas HTML dinâmicas com dados do backend.