CarbCam: Giới thiệu
Giới thiệu CarbCam
CarbCam là ứng dụng ước tính carbohydrate dựa trên ảnh dành cho người mắc bệnh tiểu đường: tập trung vào độ chính xác, quyền riêng tư, và một quy trình rõ ràng, nhanh chóng cho sử dụng hàng ngày.
Ứng dụng có sẵn trên iOS và Android và có chức năng giống hệt nhau trên cả hai cửa hàng. Phần lõi dùng chung được viết dưới dạng Kotlin Multiplatform Module, trong khi giao diện là native (SwiftUI trên iOS, Jetpack Compose trên Android).
Ý tưởng
CarbCam ra đời từ hệ sinh thái 10be: ban đầu để bổ sung cho dịch vụ lưu trữ
Nightscout trên ns.10be.de bằng một công cụ chụp ảnh thân thiện với người dùng.
Ước tính carbohydrate ngay tại bàn ăn là một trong những vi-tác vụ lặp lại thường xuyên nhất trong việc quản lý tiểu đường hàng ngày. Một chiếc camera, một lần chạm, một ước tính có cơ sở: đó chính là ý tưởng.
Nền tảng & Kiến trúc
iOS
- iOS 18+
- SwiftUI, Swift 5.9+
Android
- Android 8+
- Jetpack Compose, Kotlin
Module dùng chung
Kotlin Multiplatform: logic dinh dưỡng, giao tiếp Nightscout, đa ngôn ngữ (I18n), xác thực, tính toán công thức. Một nguồn dữ liệu duy nhất.
Máy chủ
ns.10be.de: proxy phân tích tới năm nhà cung cấp AI (Anthropic Claude, Google Gemini, OpenAI, xAI Grok, Mistral) + Azure OpenAI và Zhipu GLM với BYOK, hệ thống phản hồi, phân phối bản cập nhật, trang trạng thái. Cùng một máy chủ cũng chạy Dịch vụ lưu trữ Nightscout được quản lý.
Các thư viện mã nguồn mở được sử dụng
CarbCam sử dụng các thư viện này, xin chân thành cảm ơn các nhà bảo trì:
Dành riêng cho iOS
- TOCropViewController MIT: Cắt ảnh
- Apple Vision: Phát hiện mã vạch & phân tích ảnh cục bộ
Dành riêng cho Android
- Jetpack Compose Apache 2.0: Bộ công cụ giao diện
- Room Apache 2.0: Cơ sở dữ liệu cục bộ
- Google Maps Compose Apache 2.0: Bản đồ & Vị trí
- Coil Apache 2.0: Tải ảnh
- Retrofit / OkHttp Apache 2.0: HTTP (Square)
- ML Kit Barcode Apache 2.0: Máy quét mã vạch (Google)
Dùng chung (Kotlin Multiplatform)
- Kotlin & Coroutines Apache 2.0: JetBrains
- Ktor Apache 2.0: HTTP cho KMP
- kotlinx.serialization Apache 2.0
- kotlinx.datetime Apache 2.0
Build & Công cụ
- XcodeGen MIT: Tạo dự án iOS
- Gradle: Build
Chi tiết giấy phép đầy đủ cho từng thư viện có sẵn trong ứng dụng tại Cài đặt → Thư viện mã nguồn mở.
Nguồn dữ liệu
CarbCam sử dụng các nguồn dữ liệu bên ngoài sau đây để xác thực các ước tính của AI:
OpenStreetMap / Nominatim
Chuyển đổi tọa độ ngược để lấy tên địa điểm (chỉ cục bộ)
openstreetmap.orgLiên hệ & Phản hồi
- Trong ứng dụng: Cài đặt → Gửi phản hồi
- Email: support@carbcam.app
- Biểu mẫu liên hệ trên web: Mở biểu mẫu liên hệ
- Trạng thái phản hồi: Cài đặt → Trạng thái phản hồi