https://github.com/tynnp/alo-chat
Ứng dụng nhắn tin thời gian thực đa hệ điều hành, thuận tiện và dễ dàng cho công việc.
https://github.com/tynnp/alo-chat
chat-application desktop-app fastapi messaging-app mongodb react real-time tauri websocket
Last synced: 4 months ago
JSON representation
Ứng dụng nhắn tin thời gian thực đa hệ điều hành, thuận tiện và dễ dàng cho công việc.
- Host: GitHub
- URL: https://github.com/tynnp/alo-chat
- Owner: tynnp
- License: mit
- Created: 2026-01-02T17:47:26.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-01-06T02:46:01.000Z (6 months ago)
- Last Synced: 2026-01-13T19:45:26.410Z (5 months ago)
- Topics: chat-application, desktop-app, fastapi, messaging-app, mongodb, react, real-time, tauri, websocket
- Language: TypeScript
- Homepage:
- Size: 11.4 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://git.io/typing-svg)






**Ứng dụng nhắn tin thời gian thực đa hệ điều hành, thuận tiện và dễ dàng cho công việc!**
## Cấu trúc dự án
```
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
```
## Tính năng chính
### Nhắn tin thời gian thực
- 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
### Quản lý hội thoại
- 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
### Quản lý bạn bè
- 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
### Chia sẻ tệp tin
- Upload và gửi hình ảnh trong chat
- Hỗ trợ nhiều định dạng file (PDF, DOC, ZIP, RAR, TXT...)
### Ứng dụng Desktop (Tauri)
- 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
## Cài đặt chương trình
### Yêu cầu hệ thống
- Node.js 18+ và npm/yarn
- Python 3.10+
- MongoDB 6.0+ (Local hoặc MongoDB Atlas)
- Rust và Cargo (cho Tauri desktop app)
### 1. Cài đặt Client
```bash
# 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 dev
```
Frontend sẽ chạy tại: `http://localhost:5173`
### 2. Cài đặt Server (Backend)
Xem hướng dẫn cài đặt chi tiết trong [`server/README.md`](server/README.md).
### 3. Build Desktop App (Tùy chọn)
```bash
# Từ thư mục gốc
npm run tauri build
```
## Tài khoản Demo
Khi 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.
## Tài liệu
- [`server/README.md`](server/README.md) - Hướng dẫn cài đặt và phát triển Backend
- [`server/docs/API_REFERENCE.md`](server/docs/API_REFERENCE.md) - Tài liệu API và WebSocket
- [`server/docs/DATABASE_SCHEMA.md`](server/docs/DATABASE_SCHEMA.md) - Cấu trúc Database MongoDB
- [`CHANGELOG.md`](CHANGELOG.md) - Lịch sử thay đổi các phiên bản
- [`DEPENDENCIES.md`](DEPENDENCIES.md) - Danh sách thư viện và dependencies
- [`.github/CONTRIBUTING.md`](.github/CONTRIBUTING.md) - Hướng dẫn đóng góp
- [`.github/CODE_OF_CONDUCT.md`](.github/CODE_OF_CONDUCT.md) - Bộ quy tắc ứng xử
---

Dự án này được phát hành theo giấy phép **MIT License**
Bạn có thể tự do sử dụng, sao chép, chỉnh sửa và phân phối theo các điều khoản của giấy phép.
---