Realtime Chat
Realtime Chat
Aplikasi web realtime chat yang dibuat untuk mempelajari bagaimana teknologi komunikasi realtime bekerja pada aplikasi web menggunakan Socket.io.
Gambaran Umum
Project ini dibuat untuk memahami cara kerja komunikasi realtime pada aplikasi web menggunakan Socket.io.
Fitur
- Pesan realtime antar pengguna
- Autentikasi pengguna
- Chat room
- Riwayat pesan
Tech Stack
- Frontend: React
- Backend: Node.js, Express
- Database: MongoDB
- Realtime: Socket.io
Tantangan
Tantangan utama dalam project ini adalah mempelajari cara menangani koneksi Socket.io dan mengelola event secara realtime. Memahami perbedaan antara protokol HTTP dan WebSocket juga menjadi hal yang penting.
Yang saya pelajari
- Penanganan event di Socket.io
- Desain schema MongoDB
- Middleware Express
- Sinkronisasi data secara realtime
Kekurangan
API pada project ini belum menggunakan End-to-End Encryption (E2EE), sehingga seluruh isi chat masih dapat terlihat oleh server dan belum sepenuhnya aman untuk privasi pengguna.
Link
- API Source: https://github.com/ridhopanca/chat-app-api
- Client Source: https://github.com/ridhopanca/chat-client