برنامه نویسی

برنامه دستور العمل های سفارشی 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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا