آماده سازی مصاحبه کدنویسی به کمک هوش مصنوعی با AWS Amplify Gen 2، React و Bedrock

این یک ارسال برای چالش AWS Amplify Fullstack TypeScript است
چیزی که من ساختم
من یک پلتفرم نسل بعدی ساختهام که تجربه کدنویسی را با یکپارچهسازی کمکهای مبتنی بر هوش مصنوعی افزایش میدهد. CodeChamp به کاربران اجازه می دهد تا با چالش های کدنویسی در طیف گسترده ای از موضوعات و مشکلات مقابله کنند. پلتفرم فقط برای حل مشکلات نیست. اجزای متصل و ویژگی کامل
ما از اجزای متصل و هر چهار ویژگی استفاده کردهایم: داده، احراز هویت، توابع بدون سرور و ذخیرهسازی فایل.
دادهها: ورودیهای خاطرات بهطور ایمن در Amplify Storage (DynamoDB) با قوانین مجوز ذخیره میشوند که تضمین میکنند فقط صاحب دفترچه خاطرات دسترسی دارد.
احراز هویت: کاربران با استفاده از Amplify Auth (Cognito) برای دسترسی به داشبورد و ایجاد نوشته های خاطرات احراز هویت می شوند.
ذخیرهسازی فایل: کاربران میتوانند با استفاده از Amplify Storage، تصاویری را به دفترچههای خاطرات اضافه کنند که به طور ایمن در سطلهای S3 خصوصی/محافظتشده ذخیره میشوند.
عملکرد بدون سرور: ما از یک تابع بدون سرور برای فراخوانی مدل پایه AWS (mistral-7b-instruct) برای افزایش محتوای متن خاطرات روزانه و ایجاد نکات برجسته هفتگی برای کاربران.t در مورد یادگیری و بهبود استفاده می کنیم. هر چالش به صورت پویا برای تناسب با زمینه های مهارت و علاقه کاربر ایجاد می شود و با پیشرفت کاربران، نکاتی را در زمان واقعی از دستیار هوش مصنوعی دریافت می کنند. پس از تکمیل، هوش مصنوعی کد را بررسی میکند و بازخورد و بینش سازندهای را برای اصلاح مهارتهای کدنویسی کاربر ارائه میدهد.
نسخه ی نمایشی
استقرار زنده
ورود / احراز هویت
صفحه اصلی / چالش جدید
راه حل را اجرا کنید
ارسال و ارزیابی
صفحه نمایه
سفر
ساختن یک پلتفرم کدنویسی هم چالش برانگیز و هم روشنگر بود. من از چندین سرویس AWS، از جمله Amplify Hosting برای استقرار، Cognito برای احراز هویت، Lambda برای منطق سرور، Amazon Bedrock برای ادغام AI و DynamoDB برای ذخیره داده های کاربر و جزئیات چالش استفاده کردم.
برای اجرای کد و آزمایش، از راه حل شخص ثالث دیگری به نام Judge0 استفاده کردم که یک سرویس منبع باز است.
اجزای متصل و/یا ویژگی کامل
AWS Amplify Gen 2 ساخت یک برنامه پیچیده را از ابتدا آسان کرده است. من از چندین ویژگی Amplify Gen 2 استفاده کردم و آنها را با Amazon Bedrock ترکیب کردم تا این پلتفرم را بسازم.
داده: کل لایه داده با استفاده از AWS AppSync و DynamoDB ارائه شده توسط ویژگی Data انتزاع می شود. من همچنین از توابع Lambda برای سفارشی سازی و درج داده ها استفاده می کنم.
احراز هویت: Amplify Auth with Cognito برای ویژگی احراز هویت استفاده شد. اکثر عملکردها با استفاده از مؤلفه Authenticator و محرک های لامبدا پیاده سازی شدند.
توابع لامبدا: بیشتر منطق تجاری بر روی سه تابع مختلف لامبدا زندگی می کند. همه به Amazon Bedrock برای ادغام هوش مصنوعی مولد متصل هستند.