برنامه دستور العمل های سفارشی 24 ساعته با استفاده از هوش مصنوعی

آنچه ما ساختیم
من یک برنامه فلاتر ساختم به نام دستور العمل های سفارشی که به کاربران این امکان را می دهد تا بر اساس مواد تشکیل دهنده خود دستور العمل تولید کنند. کاربران می توانند مواد تشکیل دهنده را اضافه کنند، دستور العمل ها را تولید کنند، دستورالعمل های دقیق دستور پخت را مشاهده کنند، و دستور العمل های مورد علاقه خود را ذخیره کنند. این برنامه از Firebase برای احراز هویت و ترجیحات مشترک برای ذخیره دستور العمل های مورد علاقه به صورت محلی استفاده می کند.
نسخه ی نمایشی
با دانلود فایل apk می توانید برنامه را امتحان کنید:
https://we.tl/t-DkX8zfPKHz
در اینجا چند تصویر از برنامه وجود دارد:
صفحه ورود به سیستم:
صفحه اصلی:
صفحه نمایش مورد علاقه:
صفحه تولید دستور غذا:
صفحه دستور العمل های تولید شده:
مخزن
می توانید مخزن عمومی GitHub برای پروژه را در اینجا بیابید: دستور العمل های سفارشی GitHub Repo
تجربه کمک خلبان
در طول فرآیند توسعه، من به طور گسترده از GitHub Copilot استفاده کردم. در اینجا چند راه وجود دارد که من از Copilot استفاده کردم:
درخواست می کند
- اعلان: “یک ویجت Flutter برای وارد کردن مواد با پیشنهاد ایجاد کنید.”
– نتیجه: Copilot یک ویجت را با استفاده از Autocomplete
ویجت برای ارائه پیشنهادات مواد تشکیل دهنده به عنوان کاربر.
“دارت
تکمیل خودکار(
optionsBuilder: (TextEditingValue textEditingValue) {
if (textEditingValue.text.isEmpty) {
بازگشت const Iterable.empty();
}
return _suggestions.where((گزینه رشته) {
بازگشت option.toLowerCase().contains(textEditingValue.text.toLowerCase());
})؛
}،
onSelected: (انتخاب رشته) {
_addIngredient(انتخاب)؛
}،
fieldViewBuilder: (BuildContext context، TextEditingController textEditingController، FocusNode focusNode، VoidCallback onFieldSubmitted) {
_ingredientController.text = textEditingController.text;
بازگشت TextField(
کنترل کننده: textEditingController,
focusNode: focusNode
دکوراسیون: InputDecoration (متن label: “مواد تشکیل دهنده” را وارد کنید)،
)
}،
)
“`
- اعلان: “واکشی دستور العمل ها بر اساس مواد تشکیل دهنده با استفاده از یک API.”
– نتیجه: Copilot تابعی برای واکشی دستور العمل ها از Spoonacular API بر اساس مواد تشکیل دهنده ارائه شده توسط کاربر ایجاد کرد.
“دارت
آینده _fetchRecipes() همگام {
مواد اولیه رشته = _ingredients.join(',');
پاسخ نهایی = منتظر http.get(Uri.parse(
'https://api.spoonacular.com/recipes/findByIngredients?ingredients=$ingredients&apiKey=YOUR_API_KEY'));
if (response.statusCode == 200) {
setState(() {
_recipes = json.decode(response.body);
})؛
Navigator.push(
زمینه،
MaterialPageRoute(
سازنده: (context) => RecipeListView(recipes: _recipes),
)
)
}دیگر {
throw Exception('بارگیری دستور العمل ها ناموفق بود');
}
}
“`
- اعلان: “نمایش دستورالعمل های دقیق دستور پخت.”
– نتیجه: Copilot یک ویجت برای نمایش دستورالعمل های دقیق دستور پخت، از جمله تصویر دستور غذا، عنوان، مواد تشکیل دهنده و دستورالعمل ها ایجاد کرد.
“دارت
بدنه: ListView(
padding: const EdgeInsets.all(16.0)،
کودکان: [
ClipRRect(
borderRadius: BorderRadius.circular(10.0),
child: Image.network(widget.recipe[‘image’])
)
const SizedBox (ارتفاع: 16.0)،
متن(
ویجت.دستور غذا[‘title’]،
سبک: Theme.of(context).textTheme.headline5،
)
const SizedBox (ارتفاع: 16.0)،
متن(
“مواد تشکیل دهنده”،
سبک: Theme.of(context).textTheme.headline6،
)
const SizedBox (ارتفاع: 8.0)،
…ویجت.دستور پخت[‘ingredients’].map((مواد تشکیل دهنده) {
return Text('- $ingredient', style: Theme.of(context).textTheme.bodyText2);
}).toList(),
const SizedBox (ارتفاع: 16.0)،
متن(
'دستورالعمل ها'،
سبک: Theme.of(context).textTheme.headline6،
)
const SizedBox (ارتفاع: 8.0)،
Text(widget.recipe[‘instructions’]، سبک: Theme.of(context).textTheme.bodyText2)،
ویرایش: یک دکمه دلخواه به RecipeDetailView با بازخورد بصری اضافه شد.
نتیجه: Copilot استفاده از IconButton را با نماد و رنگ مشروط بر اساس وضعیت دلخواه پیشنهاد کرد.
IconButton(
نماد: نماد(
_مورد علاقه؟ Icons.favorite: Icons.favorite_border،
رنگ: _مورد علاقه؟ Colors.red: Colors. White,
)
onPressed: _toggleFavorite,
)
]،
)
“`
مدل های GitHub
من از مدل های GitHub برای نمونه سازی اولیه از قابلیت های LLM در برنامه خود استفاده کردم. به طور خاص، من از مدلها برای تولید کد برای مدیریت احراز هویت کاربر با Firebase و مدیریت اولویتهای مشترک برای ذخیره دستور العملهای مورد علاقه استفاده کردم. این مدلها به سادهسازی فرآیند توسعه کمک کردند و بینشهای ارزشمندی را در مورد بهترین شیوهها ارائه کردند.
نتیجه گیری
ساخت اپلیکیشن سفارشی دستور پخت با GitHub Copilot یک تجربه غنی بود. کمک Copilot به طور قابل توجهی روند توسعه را تسریع کرد و کیفیت کلی کد را بهبود بخشید. این برنامه این پتانسیل را دارد که با ارائه پیشنهادهای دستور پخت شخصی بر اساس مواد موجود، برنامه ریزی غذا را برای کاربران آسان تر و لذت بخش تر کند.
تسلیم
اعضای تیم ما عبارتند از:
- jose_correia_05ef7ade5fdd
- دستejcfreitas