در رابطه با دسته‌بندی Final Project

این نوشته به شما کمک می کند پروژه نهایی خود را با کیفیت بهتری ارائه دهید. لطفاً کلیه دستورالعمل ها و الزامات مربوط به پروژه را که در این سند نوشته شده است، دنبال کنید.

نکته: به شما پیشنهاد میشود از روش ارزیابی همتایان (Peer evaluation) جهت افزایش کیفیت پروژه نهایی خود استفاده کنید. در این روش شما و یکی دیگر از افراد هم سطح شما در دوره، پروژه های همدیگر را بررسی کرده و نسبت ارائه پیشنهاد یا رفع اشکال اقدام می کنید. Peer evaluation روش یاد گیری بسیار مفیدی است که در صنعت معمولا مورد استفاده قرار میگیرد. ( لازم به ذکر است که پروژه باید به صورت انفرادی نوشته و تحویل داده شود )

ارسال پروژه

پس از تکمیل پروژه و آمادگی جهت بررسی و امتیازدهی به پروژه لطفا “**فرم ارسال پروژه ”** را پر کنید. در این فرم موارد زیر از شما خواسته شده است:

  • آدرس ایمیل
  • لینک پروژه ( روی سایت گیت هاب)
  • لینک دموی ویدئویی پروژه (روی سایت گیت هاب)

مشخصات پروژه نهایی

پروژه نهایی که در مخزن گیت هاب دانشجو قرار میگیرد، باید دارای فایلهای زیر باشد :

  1. فایلهای کد قرارداد هوشمند
  2. یک فایل به نام README.md که پروژه را به طور کلی شرح میدهد و راهنمایی می کند که پروژه چطور به صورت لوکال اجرا شود.
  3. (اختیاری) یک فایل به نام design_pattern_decisions.md که دیزاین پترنهای مورد استفاده دانشجو را شرح دهد.
  4. (اختیاری) یک فایل به نام avoiding_common_attacks.md که شرح میدهد پروژه چگونه در مقابل حملات متداول مقاوم است.
  5. یک فایل به نام deployed_addresses.txt که نام تست نت و آدرس قرارداد دپلوی شده در آن تست نت را نشان دهد.
  6. یک فایل دمو ( screen recording ) به صورت ویدئویی که نحوه عملکرد پروژه را نشان میدهد.

وجود و عملکرد صحیح هر کدام از موارد بالا برای هر پروژه بررسی و امتیازدهی میشود.

نکاتی که در تحویل نهایی باید مد نظر بگیرید:

  • قراردادها درشاخه contracts قرارداده شده باشد

  • پروژه به صورت یک پروژه ترافل تحویل داده شود و کامپایل ترافل با موفقیت صورت پذیرد.

  • پروژه در یک بلاک چین لوکال روی پورت 8545 اجرا شود.

  • تستها در شاخه Test قرار داده شده باشد.حداقل 5 تست برای پروژه نوشته شود. ( تستها به طور خلاصه تشریح شوند و این دلیل نوشته شود که دانشجو چرا این تست را نوشته است). تستها می تواند به زبان سالیدیتی یا جاوا اسکریپت نوشته شود.

  • ارائه توضیحات (comment) در پروژه به خوبی رعایت شده باشد.

  • یک رابط کاربری ساده که پروژه از طریق آن اجرا شود به همراه پروژه تحویل داده شود.

  • پروژه را اجرا کرده و در حین اجرا صفحه را رکورد کنید و نشان دهید چگونه تنظمات و زیرساختهای اجرای پروژه را برای آن لحاظ می کنید و پروژه در حالتهای مختلف چگونه عمل میکند. طول مدت ویدئو حداقل چهار دقیقه و حداکثر ده دقیقه می تواند باشد.

  • پروژه باید بتواند اکانت فعلی متامسک را تشخیص دهد و متناسب با آن محتوا و توابع را نمایش دهد.

  • حداقل از یک کتابخانه استفاده شود.

یادداشتی درباره دشواری پروژه

بسته به سطح مهارت فعلی توسعه وب شما ، این پروژه ممکن است کم و بیش دشوار باشد. اگر چه ممکن است که پیاده سازی بسیاری از ایده ها طیف وسیعی از پیچیدگی ها را در اجرا شامل شود ولی پیاده سازی ویژگی های اساسی یک پروژه نشان می دهد که شما می توانید یک قراردادهوشمند را ایجاد کرده و آن را به یک رابط کاربری پیوند دهید. در این دوره، تمرکز ما بر عملکرد و امنیت قرارداد هوشمند است و سبک طراحی یا زیبایی و طراحی رابط کاربری جز موارد آموزشی در نظر گرفته شده در دوره نیست. پروژه دانشجو باید نشان دهنده این موضوع باشد که چگونه می تواند قراردادهای هوشمند ایمن بنویسد.

ایده پروژه نهایی

  1. ایده خود را پیاده سازی کنید.
    اگر ایده خاصی دارید که میتوان آنرا با قرارداد هوشمند پیاده سازی کرد این دوره یک فرصت عالی است که روی ایده خود کار کنید و انرا اجرایی کنید.
    2.نکته مهم :* در صورتی که قصد دارید از ایده خود استفاده کنید، قبل از شروع به انجام پروژه باید موضوع وحدود پروژه توسط مربیان دوره تایید گردد. در نظر داشته باشد که میزان سختی ایده انتخابی باید متناسب با سطح دوره برگزار شده باشد ( ایده نه خیلی ساده باشد و نه خیلی پیچیده و سخت برای عملی کردن باشد.)
  2. از پروژه های پیشنهادی در جلسه ششم نسبت به انتخاب ایده پروژه اقدام کنید.
  3. در فرم گزارش پروژه عنوان پروژه خود را بنویسید و در حد چند خط انرا توضیح دهید. پس از گرفتن تاییدیه شروع به کار و در روزهای دهم، بیستم و سی ام شهریور گزارش پیشرفت پروژه را در فرم مربوطه پر کنید.
    مهلت تحویل نهایی پروژه سی و یک شهریورماه می باشد.