Wie man einen Twitter-Klon erstellt - React Next JS - Appwrite Crash-Kurs

Wie man einen Twitter-Klon erstellt - React Next JS - Appwrite Crash-Kurs

March 23, 2024
Teilen
Autor: Big Y

In diesem Tutorial zeige ich Ihnen, wie Sie einen Twitter-Klon mit Upright erstellen können. Wir beginnen damit, ein neues Projekt in Upright zu erstellen, und dann erstellen wir eine Datenbank und eine Sammlung, um unsere Tweets zu speichern. Wir erstellen auch einige Funktionen, um Tweets zu liken, zu retweeten und zu löschen. Schließlich erstellen wir eine React-App, um unsere Tweets anzuzeigen und es Benutzern zu ermöglichen, mit ihnen zu interagieren.

Loslegen

Um loszulegen, müssen Sie ein neues Projekt in Upright erstellen. Sie können dies tun, indem Sie zur Upright-Website gehen und auf die Schaltfläche "Projekt erstellen" klicken.

Sobald Sie ein Projekt erstellt haben, müssen Sie das Upright CLI installieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

```

npm install -g upright-cli

```

Erstellen einer Datenbank und Sammlung

Als nächstes müssen wir eine Datenbank und eine Sammlung erstellen, um unsere Tweets zu speichern. Wir können dies tun, indem wir den folgenden Befehl ausführen:

```

upright db create

```

Dies erstellt eine neue Datenbank namens `tweets`. Wir können dann eine neue Sammlung innerhalb dieser Datenbank erstellen, indem wir den folgenden Befehl ausführen:

```

upright collection create tweets

```

Erstellen von Funktionen

Jetzt, da wir eine Datenbank und eine Sammlung haben, können wir damit beginnen, Funktionen zum Liken, Retweeten und Löschen von Tweets zu erstellen. Wir können dies tun, indem wir den folgenden Befehl ausführen:

```

upright function create like-tweet

```

Dies erstellt eine neue Funktion namens `like-tweet`. Wir können dann die Datei `like-tweet.js` in unserem Editor öffnen und den folgenden Code hinzufügen:

```

const sdk = require('@upright/sdk');

exports.handler = async (event) => {

const { tweetId, likes } = JSON.parse(event.body);

const tweet = await sdk.database.getDocument(

'tweets',

tweetId

);

if (tweet) {

const updatedTweet = {

...tweet,

likes: tweet.likes + 1,

};

await sdk.database.updateDocument(

'tweets',

tweetId,

updatedTweet

);

return {

data: {

tweet: updatedTweet,

},

};

}

return {

error: {

message: 'Tweet not found',

},

};

};

```

Diese Funktion wird zunächst den Event-Body parsen, der die Tweet-ID und die Anzahl der Likes enthält. Anschließend wird der Tweet aus der Datenbank mithilfe der Methode `sdk.database.getDocument()` abgerufen. Wenn der Tweet gefunden wird, wird die Anzahl der Likes um 1 erhöht und der Tweet mithilfe der Methode `sdk.database.updateDocument()` zurück in die Datenbank gespeichert. Schließlich wird eine Erfolgsantwort mit dem aktualisierten Tweet zurückgegeben.

Wir können diese Funktion jetzt bereitstellen, indem wir den folgenden Befehl ausführen:

```

upright function deploy like-tweet

```

Dies bereitstellt die Funktion in Upright und macht sie für unsere App verfügbar.

Erstellen einer React-App

Jetzt, da wir unsere Datenbank und Funktionen eingerichtet haben, können wir eine React-App erstellen, um unsere Tweets anzuzeigen und es Benutzern zu ermöglichen, mit ihnen zu interagieren. Wir können dies tun, indem wir eine neue React-App mit dem folgenden Befehl erstellen:

```

npx create-react-app twitter-clone

```

Sobald wir unsere App erstellt haben, können wir die folgenden Abhängigkeiten installieren:

```

npm install upright-client

npm install react-headless

npm install react-icons

```

Wir können dann den Upright-Client in unsere `App.js`-Datei importieren:

```

import React, { useState, useEffect } from 'react';

import ReactDOM from 'react-dom';

import UprightClient from 'upright-client';

const App = () => {

const [tweets, setTweets] = useState([]);

useEffect(() => {

const client = new UprightClient({

apiKey: process.env.API_KEY,

endpoint: process.env.ENDPOINT,

});

client.getDocuments('tweets').then((tweets) => {

setTweets(tweets);

});

}, []);

return (

{tweets.map((tweet) => (

{tweet.text}

{tweet.likes}

))}

);

};

ReactDOM.render(, document.getElementById('root'));

```

- End -
VOC AI Inc. 8 The Green,Ste A, in the City of Dover County of Kent, Delaware Zip Code: 19901 Copyright © 2024 VOC AI Inc.All Rights Reserved. Bedingungen und Konditionen Hinweise zum Datenschutz
Diese Website verwendet Cookies
VOC AI verwendet Cookies, um sicherzustellen, dass die Website ordnungsgemäß funktioniert, und um einige Informationen über Ihre Präferenzen, Geräte und vergangenen Aktionen zu speichern. Diese Daten sind aggregiert oder statistisch, was bedeutet, dass wir nicht in der Lage sind, Sie individuell zu identifizieren. Weitere Einzelheiten über die von uns verwendeten Cookies und wie Sie Ihre Zustimmung zurückziehen können, finden Sie in unserer Hinweise zum Datenschutz.
Wir verwenden Google Analytics, um die Nutzererfahrung auf unserer Website zu verbessern. Indem Sie unsere Website weiter nutzen, stimmen Sie der Verwendung von Cookies und der Datenerfassung durch Google Analytics zu.
Sind Sie mit der Annahme dieser Cookies einverstanden?
Alle Cookies akzeptieren
Alle Cookies ablehnen