یک اپلیکیشن Flutter حرفهای برای ثبت و پیگیری قند خون با تقویم شمسی و سیستم CI/CD کامل
- 📅 تقویم شمسی: ثبت اطلاعات با تاریخ شمسی (جلالی)
- 📊 نمودارهای جداگانه: نمایش نمودار قند خون ناشتا و غیر ناشتا در 3 ماه گذشته
- 💾 ذخیره محلی: ذخیرهسازی دادهها به صورت محلی با SQLite
- 🔄 یک ثبت در روز: امکان ثبت یا ویرایش تنها یک مورد در هر روز
- 📈 آمار پیشرفته: نمایش میانگین، بیشترین و کمترین مقادیر
- 🎨 رابط کاربری زیبا: طراحی مدرن و کاربرپسند با Material Design 3
- ✅ Build خودکار: ساخت خودکار APK و AAB در هر کامیت
- ✅ نسخهگذاری هوشمند: افزایش خودکار نسخه (+0.01 در هر کامیت)
- ✅ تگگذاری خودکار: ایجاد خودکار تگ Git برای هر نسخه
- ✅ Release خودکار: انتشار خودکار در GitHub با فایلهای قابل دانلود
- ✅ تست خودکار: اجرای تستها و بررسی کد در هر PR
- ✅ Manual Release: امکان انتشار دستی با کنترل کامل
- به صفحه Releases بروید
- آخرین نسخه را دانلود کنید (
app-release.apk) - فایل APK را روی گوشی اندروید خود نصب کنید
- از اپلیکیشن لذت ببرید! 🎉
- Flutter SDK 3.0.0+
- Git
- Android Studio / VS Code (اختیاری)
# 1. کلون پروژه
git clone <repository-url>
cd blood_sugar_tracker
# 2. نصب dependencies
flutter pub get
# 3. اجرای اپلیکیشن
flutter run
# 4. یا ساخت APK
flutter build apk --releaseبرای فعالسازی CI/CD خودکار:
# 1. Push به GitHub
git push origin main
# 2. تنظیم GitHub Actions
# Settings → Actions → General
# - Workflow permissions: "Read and write"
# - ✅ Allow GitHub Actions to create and approve pull requests
# 3. تمام! 🎉
# از این به بعد هر کامیت = Release خودکار📚 راهنمای کامل: SETUP.md
- در صفحه ثبت، مقدار قند خون خود را وارد کنید
- وضعیت ناشتایی (ناشتا یا غیر ناشتا) را انتخاب کنید
- روی دکمه ثبت قند خون کلیک کنید
- اگر قبلاً برای امروز ثبت کردهاید، اطلاعات قبلی جایگزین میشود
- روی تب نمودار کلیک کنید
- دو نمودار جداگانه برای قند خون ناشتا و غیر ناشتا نمایش داده میشود
- آمار میانگین، بیشترین و کمترین مقادیر برای هر نمودار نمایش داده میشود
- برای بروزرسانی دادهها، صفحه را به پایین بکشید (Pull to Refresh)
shamsi_date: برای کار با تقویم شمسیfl_chart: برای نمایش نمودارهاsqflite: برای ذخیرهسازی محلی دادههاpath: برای مدیریت مسیرها
lib/
├── main.dart # نقطه شروع برنامه
├── models/
│ └── blood_sugar_entry.dart # مدل داده قند خون
├── database/
│ └── database_helper.dart # مدیریت پایگاه داده
└── screens/
├── home_screen.dart # صفحه اصلی با نوار پایین
├── entry_screen.dart # صفحه ثبت قند خون
└── charts_screen.dart # صفحه نمودارها
- قند خون طبیعی ناشتا: 70-100 mg/dL
- قند خون طبیعی غیر ناشتا: کمتر از 140 mg/dL
- پیش دیابت ناشتا: 100-125 mg/dL
- دیابت: بیش از 126 mg/dL (ناشتا)
این برنامه صرفاً برای پیگیری شخصی طراحی شده و جایگزین مشاوره پزشکی نیست. همیشه با پزشک خود مشورت کنید.
- SETUP.md - راهنمای راهاندازی سریع در 5 دقیقه
- RELEASE.md - راهنمای کامل Release و نسخهگذاری
- .github/WORKFLOW_GUIDE.md - راهنمای جامع CI/CD Workflows
- .github/ARCHITECTURE.md - معماری پروژه و سیستمها
# مدیریت نسخه (تعاملی)
./scripts/version.sh
# ساخت Release (APK + AAB)
./scripts/build-release.sh- Fork کنید
- Feature branch بسازید (
git checkout -b feature/amazing-feature) - تغییرات را کامیت کنید (
git commit -m 'feat: add amazing feature') - Push کنید (
git push origin feature/amazing-feature) - Pull Request باز کنید
CI/CD به صورت خودکار کد شما را بررسی میکند! ✨
از GitHub Issues استفاده کنید:
- 🐛 Bug Report
- ✨ Feature Request
- 📖 Documentation
- ❓ Question
| Workflow | محرک | عملیات |
|---|---|---|
| Build and Release | Push to main | ✅ Test → Build → Tag → Release |
| PR Check | Pull Request | ✅ Format → Analyze → Test → Build |
| Manual Release | دستی | ✅ کنترل کامل نسخه و Release |
- پشتیبانی از iOS
- Cloud Sync (Firebase)
- Export to PDF/CSV
- یادآوری روزانه
- پشتیبانی از چند زبان
- تخمین HbA1c
- اشتراکگذاری با پزشک
MIT License - برای اطلاعات بیشتر LICENSE را ببینید
- Flutter - Framework عالی
- shamsi_date - پشتیبانی تقویم شمسی
- fl_chart - نمودارهای زیبا
- sqflite - پایگاه داده محلی
ساخته شده با ❤️ برای جامعه فارسیزبان
⭐ اگر این پروژه برایتان مفید بود، یک ستاره بدهید!