Neste vídeo, vou mostrar como criar um clone do Twitter usando o Upright. Vamos criar um banco de dados de tweets e, em seguida, adicionaremos funcionalidades para curtir e retweetar tweets. Também adicionaremos a capacidade de excluir tweets para usuários que fazem parte de uma equipe especial. Por fim, mostraremos como implantar uma função para incrementar o número de curtidas em um tweet.
Criar um Clone do Twitter Usando o Upright
Começaremos criando um novo projeto no Upright. Em seguida, criaremos um banco de dados de tweets.
```
import upright
upright.create_database('tweets')
```
Depois, criaremos uma coleção de tweets.
```
upright.create_collection('tweets')
```
Agora, criaremos um tweet.
```
tweet = upright.create_document('tweets', {
'text': 'Olá Mundo!',
})
```
Agora podemos visualizar nosso tweet no console do Upright.

Adicionar Funcionalidade para Curtir e Retweetar Tweets
Agora adicionaremos funcionalidades para curtir e retweetar tweets. Faremos isso criando duas funções: `curtir_tweet` e `retweetar_tweet`.
```
def curtir_tweet(id_tweet):
"""Curtir um tweet."""
upright.update_document('tweets', id_tweet, {
'curtidas': tweet['curtidas'] + 1,
})
def retweetar_tweet(id_tweet):
"""Retweetar um tweet."""
upright.create_document('tweets', {
'text': f'Retweet de {tweet["text"]}',
'id_retweetado': id_tweet,
})
```
Em seguida, implantaremos essas funções no Upright.
```
upright.deploy_function('curtir_tweet')
upright.deploy_function('retweetar_tweet')
```
Agora podemos curtir e retweetar tweets no console do Upright.

Adicionar a Capacidade de Excluir Tweets
Agora adicionaremos a capacidade de excluir tweets para usuários que fazem parte de uma equipe especial. Faremos isso criando uma equipe e adicionando usuários à equipe.
```
upright.create_team('twitter-blue')
upright.add_user_to_team('twitter-blue', 'seu_nome_de_usuário')
```
Em seguida, criaremos uma função para excluir tweets.
```
def excluir_tweet(id_tweet):
"""Excluir um tweet."""
upright.delete_document('tweets', id_tweet)
```
Depois, implantaremos essa função no Upright.
```
upright.deploy_function('excluir_tweet')
```
Agora podemos excluir tweets no console do Upright se fizermos parte da equipe `twitter-blue`.

Conclusão
Neste vídeo, mostramos como criar um clone do Twitter usando o Upright. Criamos um banco de dados de tweets e, em seguida, adicionamos funcionalidades para curtir, retweetar e excluir tweets. Também mostramos como implantar uma função para incrementar o número de curtidas em um tweet.