alo-chat/
├── src/ # Mã nguồn React frontend
│ ├── components/ # Các component React (Chat, Sidebar, Auth...)
│ ├── pages/ # Các trang chính (Login, Register, Chat)
│ ├── services/ # API services và WebSocket client
│ ├── stores/ # Zustand state management
│ └── styles/ # CSS stylesheets
├── src-tauri/ # Tauri desktop app (Rust)
│ ├── src/ # Rust source code
│ └── tauri.conf.json # Cấu hình Tauri
├── server/ # Ứng dụng FastAPI backend
│ ├── app/ # Application modules
│ │ ├── config.py # Cấu hình ứng dụng
│ │ ├── database.py # Kết nối MongoDB
│ │ ├── models/ # Pydantic schemas
│ │ ├── routes/ # API route handlers
│ │ ├── services/ # Business logic
│ │ └── websocket/ # WebSocket manager
│ ├── main.py # FastAPI app và WebSocket endpoint
│ ├── docs/ # Tài liệu kỹ thuật server
│ └── README.md # Hướng dẫn cài đặt server
├── .github/ # GitHub workflows và templates
├── CHANGELOG.md # Lịch sử thay đổi
├── DEPENDENCIES.md # Danh sách thư viện
└── README.md # File này
- Gửi và nhận tin nhắn tức thì qua WebSocket
- Hiển thị trạng thái online/offline, đang soạn tin nhắn của bạn bè
- Đánh dấu trạng thái tin nhắn đã gửi, đã nhận, đã xem
- Chat riêng tư (1-1) với bạn bè
- "Cloud của tôi" cho ghi chú cá nhân
- Ghim hội thoại quan trọng lên đầu danh sách
- Xóa lịch sử chat hoặc xóa toàn bộ hội thoại
- Tìm kiếm người dùng theo tên đăng nhập
- Gửi/nhận/chấp nhận/từ chối lời mời kết bạn
- Xem danh sách bạn bè kèm trạng thái online/offline
- Upload và gửi hình ảnh trong chat
- Hỗ trợ nhiều định dạng file (PDF, DOC, ZIP, RAR, TXT...)
- Chạy dưới dạng ứng dụng độc lập trên Windows, macOS, Linux
- Tích hợp thông báo hệ thống và giao diện tùy biến
- Node.js 18+ và npm/yarn
- Python 3.10+
- MongoDB 6.0+ (Local hoặc MongoDB Atlas)
- Rust và Cargo (cho Tauri desktop app)
# Clone repository
git clone https://github.com/tynnp/alo-chat.git
cd alo-chat
# Cài đặt dependencies
npm install
# Chạy development server
npm run devFrontend sẽ chạy tại: http://localhost:5173
Xem hướng dẫn cài đặt chi tiết trong server/README.md.
# Từ thư mục gốc
npm run tauri buildKhi khởi động lần đầu, hệ thống sẽ tự động tạo các tài khoản demo từ file server/default_users.json để bạn có thể test ứng dụng.
server/README.md- Hướng dẫn cài đặt và phát triển Backendserver/docs/API_REFERENCE.md- Tài liệu API và WebSocketserver/docs/DATABASE_SCHEMA.md- Cấu trúc Database MongoDBCHANGELOG.md- Lịch sử thay đổi các phiên bảnDEPENDENCIES.md- Danh sách thư viện và dependencies.github/CONTRIBUTING.md- Hướng dẫn đóng góp.github/CODE_OF_CONDUCT.md- Bộ quy tắc ứng xử
