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 iOSAndroid 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:

USDA FoodData Central

Giá trị dinh dưỡng tiêu chuẩn cho thực phẩm

fdc.nal.usda.gov
Open Food Facts

Cơ sở dữ liệu sản phẩm để tra cứu mã vạch

openfoodfacts.org
OpenStreetMap / Nominatim

Chuyển đổi tọa độ ngược để lấy tên địa điểm (chỉ cục bộ)

openstreetmap.org

Liên hệ & Phản hồi

Mẹo: Một mô tả rõ ràng cùng với (tùy chọn) bữa ăn liên quan thường là đủ để chúng tôi xử lý các lỗi và yêu cầu hỗ trợ.