Chap - Ứng Dụng Nhắn Tin Thời Gian Thực
Ứng dụng nhắn tin thời gian thực với trò chuyện riêng và nhóm, hệ thống kết bạn cùng trạng thái trực tuyến và đã xem.

Chap là một ứng dụng nhắn tin thời gian thực full-stack. Người dùng đăng ký, tìm kiếm người khác theo tên đăng nhập, gửi và phản hồi lời mời kết bạn, sau đó bắt đầu trò chuyện riêng hoặc tạo nhóm chat. Tin nhắn, số tin chưa đọc, trạng thái trực tuyến và dấu đã xem được đẩy tức thì qua Socket.IO, còn lịch sử hội thoại được tải theo cơ chế cuộn vô hạn. Giao diện được xây dựng bằng React 19, TypeScript và Vite, thiết kế với Tailwind CSS v4 và các thành phần shadcn/ui dựa trên Radix UI, dùng Zustand cho quản lý trạng thái, react-hook-form và Zod để kiểm tra dữ liệu, emoji-mart cho bộ chọn biểu tượng cảm xúc và sonner cho thông báo. Phía máy chủ dùng Express 5 với MongoDB và Mongoose, xác thực JWT kèm phiên làm mới lưu trong cơ sở dữ liệu, mã hóa mật khẩu bằng bcrypt, Multer và Cloudinary để tải ảnh đại diện, cùng Socket.IO cho việc truyền tin thời gian thực.