Aplikasi chat real-time ini dibangun menggunakan React untuk frontend dan Node.js untuk backend.
- Pesan real-time menggunakan Socket.IO
- Percakapan individu dan grup
- Autentikasi dan registrasi pengguna
- Unggah gambar untuk profil pengguna dan avatar grup
- Meneruskan pesan dan membalas pesan
- Pemilih emoji
- Fungsi pencarian untuk pengguna dan pesan
- Antarmuka chat
- Daftar pengguna
- Daftar percakapan
- Input pesan dengan pemilih emoji
- Fungsi unggah gambar
- Socket.IO client
- React Hooks (useState, useEffect)
- Tailwind CSS untuk styling
/register
- Registrasi pengguna/login
- Autentikasi pengguna/conversations
- Membuat dan mendapatkan percakapan/messages
- Mengirim dan mengambil pesan/users
- Mendapatkan daftar pengguna/createGroup
- Membuat percakapan grup/updateImg
- Memperbarui avatar pengguna atau grup
- User
- Conversations
- Messages
- Express.js
- MongoDB dengan Mongoose
- Socket.IO
- bcrypt untuk hashing password
- jsonwebtoken untuk autentikasi
- Clone repositori ini
git clone https://github.com/Motherbloods/Chatmessage.git
cd Chatmessage
- Instal dependensi untuk backend (NodeJS)
cd server
npm install
- Instal dependensi untuk frontend (React JS)
cd ../client
npm install
- Siapkan database MongoDB
- Pastikan MongoDB terinstal dan berjalan di sistem Anda
- Buat database baru untuk aplikasi ini
- Konfigurasi variabel lingkungan
-
Buat file
.env
di folder server -
Tambahkan variabel berikut:
PORT=8000 MONGODB_URI=mongodb://localhost:27017/chat_app_db JWT_SECRET=rahasia_jwt_anda
- Jalankan server backend
cd server
node app.js
- Jalankan server development React
cd client
npm start
- Buka aplikasi di browser (biasanya di
http://localhost:3000
) - Daftar akun baru atau masuk dengan akun yang ada
- Mulai percakapan dengan pengguna atau buat grup
- Kirim pesan, emoji, dan gambar
- Gunakan fungsi pencarian untuk menemukan pengguna atau pesan
- Enkripsi end-to-end
- Panggilan suara dan video
- Berbagi file
- Pengeditan dan penghapusan pesan
Kontribusi sangat diterima! Silakan ajukan Pull Request.