{"id":35568487,"url":"https://github.com/tynnp/alo-chat","last_synced_at":"2026-02-15T15:59:12.139Z","repository":{"id":332409108,"uuid":"1126856873","full_name":"tynnp/alo-chat","owner":"tynnp","description":"Ứ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.","archived":false,"fork":false,"pushed_at":"2026-01-06T02:46:01.000Z","size":11961,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-13T19:45:26.410Z","etag":null,"topics":["chat-application","desktop-app","fastapi","messaging-app","mongodb","react","real-time","tauri","websocket"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tynnp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-02T17:47:26.000Z","updated_at":"2026-01-06T02:46:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tynnp/alo-chat","commit_stats":null,"previous_names":["tynnp/alo-chat"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/tynnp/alo-chat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynnp%2Falo-chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynnp%2Falo-chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynnp%2Falo-chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynnp%2Falo-chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tynnp","download_url":"https://codeload.github.com/tynnp/alo-chat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynnp%2Falo-chat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29483280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T15:33:17.885Z","status":"ssl_error","status_checked_at":"2026-02-15T15:32:53.698Z","response_time":118,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat-application","desktop-app","fastapi","messaging-app","mongodb","react","real-time","tauri","websocket"],"created_at":"2026-01-04T16:15:41.191Z","updated_at":"2026-02-15T15:59:12.134Z","avatar_url":"https://github.com/tynnp.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n[![Typing SVG](https://readme-typing-svg.demolab.com?font=Fira+Code\u0026weight=700\u0026size=50\u0026pause=1000\u0026color=24C8DB\u0026center=true\u0026vCenter=true\u0026width=435\u0026lines=ALO+CHAT)](https://git.io/typing-svg)\n\n\u003cimg src=\"https://img.shields.io/badge/version-0.2.2-blue?style=for-the-badge\" alt=\"Version\" /\u003e\n\u003cimg src=\"https://img.shields.io/badge/license-MIT-green?style=for-the-badge\" alt=\"License\" /\u003e\n\u003cimg src=\"https://img.shields.io/badge/status-Active-success?style=for-the-badge\" alt=\"Status\" /\u003e\n\n\u003cbr/\u003e\n\n![Tauri](https://img.shields.io/badge/Tauri-24C8DB?style=for-the-badge\u0026logo=tauri\u0026logoColor=white)\n![React](https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB)\n![FastAPI](https://img.shields.io/badge/FastAPI-009485?style=for-the-badge\u0026logo=fastapi\u0026logoColor=white)\n![MongoDB](https://img.shields.io/badge/MongoDB-47A248?style=for-the-badge\u0026logo=mongodb\u0026logoColor=white)\n![WebSocket](https://img.shields.io/badge/WebSocket-010101?style=for-the-badge\u0026logo=websocket\u0026logoColor=white)\n\n**Ứ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!**\n\n\u003ckbd\u003e\n  \u003cimg src=\"assets/screenshot.png\" alt=\"Alo Chat Screenshot\" /\u003e\n\u003c/kbd\u003e\n\n\u003c/div\u003e\n\n## Cấu trúc dự án\n\n```\nalo-chat/\n├── src/                        # Mã nguồn React frontend\n│   ├── components/             # Các component React (Chat, Sidebar, Auth...)\n│   ├── pages/                  # Các trang chính (Login, Register, Chat)\n│   ├── services/               # API services và WebSocket client\n│   ├── stores/                 # Zustand state management\n│   └── styles/                 # CSS stylesheets\n├── src-tauri/                  # Tauri desktop app (Rust)\n│   ├── src/                    # Rust source code\n│   └── tauri.conf.json         # Cấu hình Tauri\n├── server/                     # Ứng dụng FastAPI backend\n│   ├── app/                    # Application modules\n│   │   ├── config.py           # Cấu hình ứng dụng\n│   │   ├── database.py         # Kết nối MongoDB\n│   │   ├── models/             # Pydantic schemas\n│   │   ├── routes/             # API route handlers\n│   │   ├── services/           # Business logic\n│   │   └── websocket/          # WebSocket manager\n│   ├── main.py                 # FastAPI app và WebSocket endpoint\n│   ├── docs/                   # Tài liệu kỹ thuật server\n│   └── README.md               # Hướng dẫn cài đặt server\n├── .github/                    # GitHub workflows và templates\n├── CHANGELOG.md                # Lịch sử thay đổi\n├── DEPENDENCIES.md             # Danh sách thư viện\n└── README.md                   # File này\n```\n\n## Tính năng chính\n\n### Nhắn tin thời gian thực\n- Gửi và nhận tin nhắn tức thì qua WebSocket\n- Hiển thị trạng thái online/offline, đang soạn tin nhắn của bạn bè\n- Đánh dấu trạng thái tin nhắn đã gửi, đã nhận, đã xem\n\n### Quản lý hội thoại\n- Chat riêng tư (1-1) với bạn bè\n- \"Cloud của tôi\" cho ghi chú cá nhân\n- Ghim hội thoại quan trọng lên đầu danh sách\n- Xóa lịch sử chat hoặc xóa toàn bộ hội thoại\n\n### Quản lý bạn bè\n- Tìm kiếm người dùng theo tên đăng nhập\n- Gửi/nhận/chấp nhận/từ chối lời mời kết bạn\n- Xem danh sách bạn bè kèm trạng thái online/offline\n\n### Chia sẻ tệp tin\n- Upload và gửi hình ảnh trong chat\n- Hỗ trợ nhiều định dạng file (PDF, DOC, ZIP, RAR, TXT...)\n\n### Ứng dụng Desktop (Tauri)\n- Chạy dưới dạng ứng dụng độc lập trên Windows, macOS, Linux\n- Tích hợp thông báo hệ thống và giao diện tùy biến\n\n## Cài đặt chương trình\n\n### Yêu cầu hệ thống\n- Node.js 18+ và npm/yarn\n- Python 3.10+\n- MongoDB 6.0+ (Local hoặc MongoDB Atlas)\n- Rust và Cargo (cho Tauri desktop app)\n\n### 1. Cài đặt Client\n\n```bash\n# Clone repository\ngit clone https://github.com/tynnp/alo-chat.git\ncd alo-chat\n\n# Cài đặt dependencies\nnpm install\n\n# Chạy development server\nnpm run dev\n```\n\nFrontend sẽ chạy tại: `http://localhost:5173`\n\n### 2. Cài đặt Server (Backend)\n\nXem hướng dẫn cài đặt chi tiết trong [`server/README.md`](server/README.md).\n\n\n### 3. Build Desktop App (Tùy chọn)\n\n```bash\n# Từ thư mục gốc\nnpm run tauri build\n```\n\n## Tài khoản Demo\n\nKhi 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.\n\n## Tài liệu\n\n- [`server/README.md`](server/README.md) - Hướng dẫn cài đặt và phát triển Backend\n- [`server/docs/API_REFERENCE.md`](server/docs/API_REFERENCE.md) - Tài liệu API và WebSocket\n- [`server/docs/DATABASE_SCHEMA.md`](server/docs/DATABASE_SCHEMA.md) - Cấu trúc Database MongoDB\n- [`CHANGELOG.md`](CHANGELOG.md) - Lịch sử thay đổi các phiên bản\n- [`DEPENDENCIES.md`](DEPENDENCIES.md) - Danh sách thư viện và dependencies\n- [`.github/CONTRIBUTING.md`](.github/CONTRIBUTING.md) - Hướng dẫn đóng góp\n- [`.github/CODE_OF_CONDUCT.md`](.github/CODE_OF_CONDUCT.md) - Bộ quy tắc ứng xử\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://img.shields.io/badge/License-MIT-orange?style=for-the-badge\u0026logo=opensourceinitiative\u0026logoColor=white\" alt=\"MIT License\" /\u003e\n\n\u003cbr/\u003e\n\nDự án này được phát hành theo giấy phép **MIT License**\n\nBạ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.\n\n---\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftynnp%2Falo-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftynnp%2Falo-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftynnp%2Falo-chat/lists"}