Giới thiệu
Anx Reader là một ứng dụng đọc sách điện tử (e-book reader) mã nguồn mở được phát triển bằng Flutter, giải quyết vấn đề phân mảnh trong trải nghiệm đọc sách kỹ thuật số. Nó không chỉ hỗ trợ nhiều định dạng sách phổ biến (EPUB, PDF, MOBI…) mà còn tích hợp các công nghệ AI hiện đại (OpenAI, Gemini, Claude) để hỗ trợ tóm tắt, dịch thuật và tra cứu ngữ cảnh ngay trong lúc đọc. Ứng dụng đặc biệt hữu ích cho những người yêu sách muốn có một công cụ ‘all-in-one’ để quản lý thư viện, đồng bộ hóa tiến trình đọc giữa các thiết bị (điện thoại, máy tính) và theo dõi thói quen đọc sách thông qua các biểu đồ trực quan.
Tính năng chính
- Hỗ trợ đa định dạng: Đọc mượt mà các file EPUB, MOBI, AZW3, FB2, TXT và PDF.
- Tích hợp AI mạnh mẽ: Sử dụng AI để tóm tắt nội dung, dịch thuật song ngữ, tra cứu từ điển và tạo bản đồ tư duy (Mind map) cho sách.
- Đồng bộ hóa đa nền tảng: Sử dụng giao thức WebDAV để đồng bộ sách, ghi chú (notes), highlight và tiến trình đọc giữa Android, iOS, Windows và macOS.
- Thống kê thói quen đọc: Cung cấp biểu đồ nhiệt (heatmap) và báo cáo chi tiết về thời gian đọc theo tuần, tháng, năm.
- Tùy biến cao: Cho phép điều chỉnh font chữ, khoảng cách dòng, lề, chủ đề (Sáng/Tối/Sepia) và hỗ trợ Text-to-Speech (đọc to văn bản).
- Ghi chú & Xuất dữ liệu: Hệ thống ghi chú đa dạng, hỗ trợ xuất ra Markdown, TXT hoặc CSV.
Hướng dẫn cài đặt Local (macOS)
Để chạy dự án trên macOS, bạn cần cài đặt môi trường phát triển Flutter. Các bước thực hiện:
- Cài đặt Prerequisites:
- Cài đặt Flutter SDK (khuyên dùng qua FVM hoặc Homebrew):
brew install --cask flutter - Cài đặt Rust (cần thiết cho một số module):
brew install rust - Cài đặt Xcode và CocoaPods (cho macOS/iOS build):
sudo gem install cocoapods
- Cài đặt Flutter SDK (khuyên dùng qua FVM hoặc Homebrew):
- Clone Repository:
git clone https://github.com/Anxcye/anx-reader.git cd anx-reader - Cài đặt Dependencies:
flutter pub get - Generate Code (Localization & Riverpod):
Dự án sử dụng code generation cho đa ngôn ngữ và quản lý trạng thái:
flutter gen-l10n dart run build_runner build --delete-conflicting-outputs - Chạy ứng dụng:
flutter run -d macos
Hướng dẫn Docker
Vì Anx Reader là một ứng dụng Client (Mobile/Desktop), Docker không được sử dụng để ‘chạy’ ứng dụng này theo cách thông thường như Web Server. Tuy nhiên, bạn có thể sử dụng Docker để tạo môi trường build chuẩn hóa (Build Environment) nhằm tránh lỗi môi trường.
Dưới đây là gợi ý Dockerfile cơ bản để thiết lập môi trường build cho Android/Web:
# Sử dụng image Flutter chính thức
FROM ghcr.io/cirruslabs/flutter:stable
# Thiết lập thư mục làm việc
WORKDIR /app
# Copy file cấu hình dependency trước để tận dụng cache layer
COPY pubspec.yaml pubspec.lock ./
# Tải dependencies
RUN flutter pub get
# Copy toàn bộ source code
COPY . .
# Generate code cần thiết
RUN flutter gen-l10n && dart run build_runner build --delete-conflicting-outputs
# Lệnh mặc định: Build file APK cho Android (hoặc web)
CMD ["flutter", "build", "apk", "--release"]
Để chạy build: docker build -t anx-builder . && docker run --rm -v $(pwd)/build:/app/build anx-builder
Ví dụ Code (Example Code)
Dưới đây là một đoạn script Bash tóm tắt quy trình tự động hóa việc cài đặt và chạy thử ứng dụng (thường dùng cho lần đầu setup):
#!/bin/bash
echo "🚀 Bắt đầu thiết lập Anx Reader..."
# 1. Kiểm tra Flutter
if ! command -v flutter &> /dev/null; then
echo "❌ Flutter chưa được cài đặt. Vui lòng cài Flutter SDK trước."
exit 1
fi
# 2. Cập nhật dependencies
echo "📦 Đang tải các thư viện..."
flutter pub get
# 3. Code Generation (Quan trọng)
echo "⚙️ Đang generate code (L10n & Riverpod)..."
flutter gen-l10n
dart run build_runner build --delete-conflicting-outputs
# 4. Chạy ứng dụng trên thiết bị đang kết nối hoặc giả lập
echo "▶️ Đang khởi chạy ứng dụng..."
flutter run
Sources
- sourceforge.net
- apple.com
- sevensquaretech.com
- anxcye.com
- signpath.org
- github.com
- apple.com
- sourceforge.net
- flutter.dev
- github.com
- docker.com
- github.com
Github Page
https://github.com/Anxcye/anx-reader