🚀 Tính năng chính
	Đăng ký/Đăng nhập: Email/password hoặc Google (Firebase).
	Quản lý bạn bè: Tìm kiếm, thêm bạn, xem trạng thái online/offline.
	Chat realtime: Nhắn tin tức thời, lưu lịch sử, trạng thái đã nhận/đã xem.
	Gọi video 1-1: WebRTC, bật/tắt mic/camera, kết thúc cuộc gọi.
	Thông báo: Popup, âm thanh, tự động ẩn, bật/tắt được.
	Quản lý hồ sơ: Xem/sửa tên, email, đổi mật khẩu, đồng bộ realtime.
	Giao diện hiện đại: Dark/Light mode, responsive.
	🛠️ Công nghệ sử dụng
	Frontend: ReactJS, Socket.io-client, WebRTC, Firebase Auth, CSS3
	Backend: Node.js, Express, Socket.io, MongoDB, bcryptjs
	Realtime: Socket.io, WebRTC
	Xác thực: Firebase (Google), JWT (nếu có)
	Thông báo: Custom Notification
	📝 Sử dụng
	Đăng ký hoặc đăng nhập (email/password hoặc Google)
	Thêm bạn bè, chọn bạn để chat/gọi video
	Nhắn tin realtime, xem lịch sử chat
	Nhận/gửi cuộc gọi video, điều khiển mic/camera
	Nhận popup thông báo khi có tin nhắn/cuộc gọi mới
	Quản lý thông tin cá nhân, đổi mật khẩu, bật/tắt dark mode, bật/tắt thông báo
	🔒 Bảo mật
	Mật khẩu hash với bcryptjs
	Không lưu mật khẩu dạng plain text
	Xác thực đầu vào, kiểm tra trùng email
	Sử dụng biến môi trường, không commit thông tin nhạy cảm
	📌 API & Socket
	REST API: Đăng ký, đăng nhập, cập nhật hồ sơ, lấy bạn bè, gửi/nhận tin nhắn
	Socket.io: Nhắn tin realtime, trạng thái online, gọi video, thông báo
	🛠️ Scripts
	Backend: npm start (dùng nodemon)
	Frontend: npm start, npm run build (React scripts)
                        
                            
                            XEM THÊM ==> Hướng dẫn cài đặt chi tiết
                        
                        
                        
                                    
                                    HƯỚNG DẪN CÀI ĐẶT
                                    
	B1: Xem Demo và lấy các Key cần thiết
	B2: Mở dự án -> Thay các Key đã có ở B1
	B3: Mở 2 terminal và tải thư viện (nếu báo lỗi ko có thư viện)
	- Terminal 1: npm install
	- Terminal 2: cd client; npm install --legacy-peer-deps 
	B4: Chạy dự án sau khi tải xong thư viện
	- Terminal 1: npm start
	- Terminal 2: cd client; npm start
	B5: Chia 2 tab đăng nhập và test dự án
	Nếu có lỗi phát sinh hãy nhờ sự trợ giúp của ChatGPT, nó sẽ giải quyết giúp bạn!
                                    
                        Nguồn: Topcode.vn