NeloChat là mã nguồn mạng xã hội kết hợp ứng dụng nhắn tin realtime, được phát triển trên nền tảng Next.js Fullstack, React, MySQL và Socket.IO.
Hệ thống tích hợp đầy đủ các chức năng như nhắn tin cá nhân, chat nhóm, bảng tin, Story 24 giờ, kết bạn, theo dõi người dùng, gọi thoại, gọi video, thông báo đẩy và trang quản trị chuyên sâu.
Website demo: server.vnhost.vn
Source phù hợp để phát triển:
- Website nhắn tin trực tuyến.
- Mạng xã hội nội bộ.
- Cộng đồng thành viên.
- Nền tảng chat dành cho doanh nghiệp.
- Website kết nối bạn bè.
- Sản phẩm startup Social Network hoặc SaaS Communication.
Thông tin mã nguồn
- Tên sản phẩm: NeloChat.
- Phiên bản: 7.7.22.
- Backend: Next.js Fullstack và Node.js.
- Frontend: React.
- Cơ sở dữ liệu: MySQL hoặc MariaDB.
- Realtime: Socket.IO.
- Cuộc gọi: WebRTC.
- Thông báo trình duyệt: Web Push.
- Lưu trữ đám mây: Hỗ trợ Cloudflare R2.
- Giao diện: Responsive trên máy tính, máy tính bảng và điện thoại.
- Hình thức triển khai: VPS, PM2 hoặc Docker.
Chức năng tài khoản
- Đăng ký tài khoản bằng email, username và mật khẩu.
- Đăng nhập bằng email hoặc username.
- Quản lý thông tin cá nhân, ảnh đại diện và ảnh bìa.
- Thay đổi username, mật khẩu và thông tin giới thiệu.
- Cài đặt vị trí theo tỉnh, thành phố và khu vực tại Việt Nam.
- Quản lý các thiết bị và phiên đăng nhập.
- Đăng xuất từng thiết bị hoặc đăng xuất toàn bộ.
- Khóa và chặn người dùng.
- Cài đặt quyền riêng tư cho từng nhóm thông tin.
- Xuất dữ liệu và gửi yêu cầu xóa tài khoản.
Hệ thống bạn bè và theo dõi
- Gửi, chấp nhận, từ chối hoặc hủy lời mời kết bạn.
- Hiển thị danh sách bạn bè và bạn chung.
- Gợi ý kết bạn theo khu vực.
- Theo dõi và bỏ theo dõi người dùng.
- Quản lý danh sách người theo dõi và đang theo dõi.
- Thiết lập quyền riêng tư cho danh sách kết nối.
- Chặn người dùng và hạn chế tương tác.
Nhắn tin realtime
- Nhắn tin cá nhân 1-1.
- Tạo và quản lý nhóm chat.
- Phân quyền chủ nhóm, quản trị viên và thành viên.
- Hiển thị trạng thái online, đang nhập và đang ghi âm.
- Đồng bộ tin nhắn realtime giữa nhiều thiết bị.
- Hiển thị trạng thái đã gửi, đã nhận và đã xem.
- Quản lý số lượng tin nhắn chưa đọc.
- Tìm kiếm nội dung tin nhắn.
- Ghim, đánh dấu sao và lưu tin nhắn.
- Chỉnh sửa, thu hồi hoặc xóa tin nhắn phía cá nhân.
- Xem lịch sử các phiên bản đã chỉnh sửa.
- Trả lời và chuyển tiếp tin nhắn.
- Thả cảm xúc cho tin nhắn.
- Vuốt để trả lời trên thiết bị di động.
Nội dung tin nhắn hỗ trợ
- Tin nhắn văn bản.
- Hình ảnh.
- Video.
- File đính kèm.
- Tin nhắn thoại.
- Audio.
- Sticker.
- Chia sẻ vị trí.
- Chia sẻ thông tin liên hệ.
- Tạo bình chọn.
- Nhật ký cuộc gọi.
Quản lý nhóm chat
- Tạo nhóm và cập nhật thông tin nhóm.
- Thêm hoặc xóa thành viên.
- Phân quyền thành viên.
- Tạo đường dẫn mời tham gia nhóm.
- Tùy chọn tham gia trực tiếp hoặc cần quản trị viên phê duyệt.
- Quản lý danh sách yêu cầu tham gia.
- Thiết lập quyền gửi tin nhắn và quyền thêm thành viên.
- Trang thông tin riêng cho từng nhóm.
- Quản lý hình ảnh, video và file đã chia sẻ trong nhóm.
Bảng tin mạng xã hội
- Đăng bài viết lên bảng tin.
- Đính kèm hình ảnh và video.
- Hiển thị bảng tin công khai.
- Hiển thị bài viết của người đang theo dõi.
- Chỉnh sửa hoặc xóa bài viết.
- Khóa bình luận cho từng bài.
- Thả nhiều loại cảm xúc.
- Bình luận và trả lời bình luận nhiều cấp.
- Đăng lại bài viết.
- Lưu bài viết.
- Chia sẻ bài viết.
- Theo dõi lượt xem bài viết.
- Xem trang chi tiết từng bài đăng.
- Hiển thị bài viết trên trang cá nhân.
Story 24 giờ
- Đăng Story hình ảnh hoặc nội dung đa phương tiện.
- Story tự động hết hạn sau 24 giờ.
- Cài đặt đối tượng được phép xem.
- Hiển thị danh sách người đã xem.
- Thả cảm xúc và trả lời Story.
- Phân biệt Story đã xem và chưa xem.
- Gửi thông báo khi bạn bè đăng Story mới.
- Hỗ trợ Story theo các mốc chuỗi tương tác.
Chuỗi tương tác
- Theo dõi chuỗi ngày nhắn tin giữa hai người dùng.
- Hiệu ứng chuỗi lửa trực tiếp trong cuộc trò chuyện.
- Hiển thị tổng số tin nhắn trong chuỗi.
- Các mốc chuỗi 10, 30, 100, 500 và 1.000 ngày.
- Cho phép quản trị viên tùy chỉnh màu sắc, kích thước, vị trí và hiệu ứng chuỗi.
- Đồng bộ sự kiện chuỗi giữa nhiều thiết bị.
- Hạn chế phát trùng hiệu ứng trên nhiều thiết bị cùng tài khoản.
Gọi thoại và gọi video
- Gọi thoại realtime.
- Gọi video realtime.
- Cuộc gọi trong nhóm.
- Chia sẻ màn hình.
- Thu nhỏ cửa sổ cuộc gọi.
- Tự động kết nối lại khi mạng không ổn định.
- Hỗ trợ STUN và TURN.
- Lưu lịch sử cuộc gọi.
- Thông báo cuộc gọi đến khi trình duyệt chạy nền.
Hệ thống thông báo
- Trung tâm thông báo trong website.
- Thông báo lời mời kết bạn.
- Thông báo bài viết mới.
- Thông báo bình luận và trả lời bình luận.
- Thông báo Story mới.
- Thông báo thiết bị đăng nhập mới.
- Thông báo từ quản trị viên.
- Web Push qua trình duyệt.
- Tùy chỉnh bật hoặc tắt từng loại thông báo.
- Tắt thông báo riêng cho từng cuộc trò chuyện.
Trang quản trị Admin
Hệ thống có khu vực quản trị riêng, hỗ trợ quản lý toàn bộ hoạt động của website.
- Dashboard thống kê tổng quan.
- Quản lý tài khoản người dùng.
- Cấp quyền quản trị viên.
- Khóa tài khoản và ghi rõ lý do.
- Chỉnh sửa hồ sơ thành viên.
- Quản lý nhóm và thành viên nhóm.
- Xem và kiểm duyệt tin nhắn.
- Gửi cảnh báo hệ thống vào cuộc trò chuyện.
- Quản lý bài viết trên bảng tin.
- Tiếp nhận và xử lý báo cáo vi phạm.
- Quản lý yêu cầu xác minh tài khoản.
- Quản lý nhiều loại dấu xác minh.
- Tùy chỉnh vị trí và kích thước dấu xác minh.
- Tùy chỉnh giao diện chuỗi lửa.
- Bật hoặc tắt tính năng bằng Feature Flags.
- Quản lý lịch sử thao tác của quản trị viên.
- Quản lý file và dung lượng lưu trữ.
- Cấu hình Cloudflare R2 trực tiếp trong Admin.
- Công cụ kéo thả và điều chỉnh bố cục giao diện.
Bảo mật và vận hành
- Mật khẩu được mã hóa bằng Scrypt.
- Session lưu trong MySQL.
- Cookie đăng nhập sử dụng HttpOnly.
- Quản lý và thu hồi phiên đăng nhập.
- Kiểm tra quyền truy cập tại API.
- Giới hạn tần suất request.
- Chống gửi trùng tin nhắn.
- Chính sách bảo mật cho file tải lên.
- Content Security Policy và các HTTP Security Headers.
- Audit Log ghi lại hoạt động quản trị.
- Transactional Outbox hỗ trợ xử lý sự kiện ổn định.
- Realtime Bridge đồng bộ thay đổi từ MySQL.
- Có API kiểm tra tình trạng hoạt động của hệ thống.
Giao diện và trải nghiệm
- Thiết kế hiện đại theo phong cách ứng dụng nhắn tin và mạng xã hội.
- Tương thích máy tính, máy tính bảng và điện thoại.
- Hỗ trợ giao diện sáng và tối.
- Tối ưu thao tác cảm ứng trên điện thoại.
- Hỗ trợ Safe Area trên thiết bị iPhone.
- Có Service Worker và Web App Manifest.
- Có thể cài đặt lên màn hình chính dưới dạng PWA.
- Skeleton Loading khi tải dữ liệu.
- Điều hướng bằng Next.js App Router.
Công nghệ sử dụng
- Next.js 16.
- React 19.
- Node.js 20 trở lên.
- MySQL hoặc MariaDB.
- Socket.IO.
- WebRTC.
- Web Push và VAPID.
- Cloudflare R2.
- PM2.
- Docker và Docker Compose.
- Nginx hoặc aaPanel.
Yêu cầu cài đặt
- VPS sử dụng Ubuntu hoặc hệ điều hành tương thích Node.js.
- Node.js từ phiên bản 20.9 trở lên.
- MySQL 5.7, MySQL 8 hoặc MariaDB tương thích.
- Tên miền đã cài đặt HTTPS.
- Nginx hoặc Reverse Proxy.
- PM2 hoặc Docker để vận hành ứng dụng.
- Máy chủ TURN nếu cần gọi thoại và video ổn định giữa các mạng khác nhau.
Bộ source bao gồm
- Toàn bộ mã nguồn frontend và backend.
- Cấu trúc cơ sở dữ liệu và hệ thống migration.
- File cấu hình môi trường mẫu.
- Dockerfile và Docker Compose.
- Cấu hình PM2.
- Cấu hình Nginx tham khảo.
- Script cài đặt VPS Ubuntu.
- Script backup và restore dữ liệu.
- Script cấu hình TURN Server.
- Bộ kiểm thử tự động.
Phù hợp với
- Cá nhân muốn xây dựng website chat riêng.
- Đơn vị phát triển cộng đồng thành viên.
- Doanh nghiệp cần hệ thống nhắn tin nội bộ.
- Lập trình viên cần source Next.js thực tế để nghiên cứu.
- Startup muốn phát triển mạng xã hội hoặc nền tảng giao tiếp.
- Agency muốn tùy chỉnh và triển khai cho khách hàng.
Lưu ý
- Đây là mã nguồn Web App/PWA, không phải ứng dụng Android hoặc iOS Native.
- Cuộc gọi nhóm sử dụng mô hình WebRTC Mesh, phù hợp với nhóm nhỏ.
- Để cuộc gọi ổn định giữa mạng Wi-Fi, 4G và các hệ thống NAT khác nhau, cần cấu hình TURN Server.
- Người mua cần có kiến thức cơ bản về Node.js, MySQL, VPS và cấu hình Reverse Proxy.