API untuk aplikasi obrolan untuk kursus DogeCodes React.
Ini adalah server API sederhana yang mengimplementasikan logika yang diperlukan untuk memperbaiki kerja aplikasi DogeCodes React Chat.
Untuk menjalankan server ini secara lokal, Anda harus memiliki persyaratan berikut:
Gunakan perintah berikut untuk menjalankan server API ini secara lokal:
git clone https://github.com/dogecodes/react-chat-api.git
cd react-chat-api
npm install
npm run start:dev # or `npm start` for production
Catatan: Jangan lupa memulai mongod
untuk koneksi ke database.
Versi API saat ini adalah v1
, jadi Anda perlu menentukan versi API sebelum setiap rute. Misalnya:
http://localhost:8000/v1/users/me
http://localhost:8000/v1/chats
Berikut peta rute HTTP API:
/
— rute yang terkait dengan autentikasi./signup
POST — membuat pengguna baru dengan username
dan password
./login
POST — login pengguna dengan username
dan password
./logout
GET — keluar dari pengguna aktif./users
— rute yang terkait dengan pengguna./users
GET — mengambil data tentang semua pengguna./users/me
GET — mengambil data pengguna saya./users/me
POST — perbarui informasi pengguna saya ( username
, firstName
, lastName
dan city
)./users/:id
GET — mengambil informasi tentang pengguna dengan :id
tertentu./chats
— rute yang terkait dengan obrolan./chats
GET — mengambil informasi tentang semua obrolan./chats
POST — membuat obrolan baru dengan title
tertentu./chats/my
GET — dapatkan daftar semua obrolan pengguna./chats/:id
GET — dapatkan informasi obrolan dengan pesan melalui :id
obrolan tertentu./chats/:id
POST — mengirim pesan baru ke chat dengan :id
tertentu./chast/:id
DELETE — menghapus obrolan dengan :id
tertentu. Hanya pembuat obrolan yang dapat menghapusnya./chats/:id/join
GET — bergabung dalam obrolan dengan :id
tertentu./chats/:id/leave
GET — tinggalkan chat dengan :id
tertentu.Jika Anda menggunakan Insomnia untuk melakukan debug API, Anda dapat mengunduh cadangan ruang kerja:
Unduh .zip
API ini juga memancarkan dan mendengarkan beberapa peristiwa socket.io.
Koneksi soket memerlukan otentikasi dengan token akses. Berikut ini contoh membuat koneksi soket:
import SocketIOClient from 'socket.io-client' ;
socket = SocketIOClient ( 'path/to/api' , {
query : {
token : '...your access-token here...' ,
} ,
} ) ;
Berikut daftar acaranya:
new-message
— dikeluarkan ketika seseorang mengirim pesan baru ke obrolan tertentu.new-chat
— dipancarkan ketika seseorang membuat obrolan baru.deleted-chat
— dikeluarkan ketika seseorang menghapus chat. connection
— koneksi klien socket.io.mount-chat
— pasang klien untuk mendengarkan pesan dalam obrolan dengan :chatId
tertentu.unmount-chat
— lepaskan klien dari mendengarkan pesan dalam obrolan dengan :chatId
tertentu.send-message
— mengirim pesan berisi content
untuk diajak ngobrol MIT © Denys Dovhan