Skip to content

Latest commit

 

History

History
110 lines (100 loc) · 7.61 KB

README.md

File metadata and controls

110 lines (100 loc) · 7.61 KB

تمرین Open Source

مقدمه

هدف از این بخش، آشنایی شما با فرآیند مشارکت در توسعه‌ی پروژه‌های متن‌باز (open source) و یادگیری روند حل issue و ایجاد PR (pull request) است. به طور خلاصه در این تمرین، کافی‌ست اعضای هر گروه تعدادی سوال در سایت Stackoverflow پاسخ دهند و تعدادی issue در Github انجام دهند و لینک آن‌ها در یک فایل txt به همراه شماره دانشجویی اعضای گروه قرار دهند و در کوئرا آپلود کنند. مجموع تعداد این ۲ مورد، ۹ تا باید باشد.

Github

  • فعالیت مورد نظر:
    • پیدا کردن و حل تعدادی issue تکنیکال در ریپازیتوری‌های عمومی مختلف در Github
    • ایجاد pull request متناظر برای هر ایشو حل شده
  • الزامات:
    • هر گروه باید در هر یک از موضوع‌های backend، frontend و زیرساخت حداقل ۳ ایشو حل کند.
    • ایشوهایی مانند اضافه کردن documentation یا پاسخ به سوالات کاربران پذیرفته نیست.
    • لازم نیست pull request لزوما merge شود.
  • منابع:

توضیحات

  • در ﻣﺮﺣﻠﻪ اول ﺷﻤﺎ ﺑﺎﯾﺪ ﺑﺎ جست‌و‌جو در GitHub و ﯾﺎ ﺳﺎﯾﺮ ﻣﺨﺎزن ﮐﺪﻫﺎی ﻣﺘﻦﺑﺎز اﻗﺪام ﺑﻪ اﻧﺘﺨﺎب issueهای ﻣﻨﺎﺳﺐ کنید.
  • ﺣﻞ issue ﻣﯽﺗﻮاﻧﺪ ﺑﻪ ﺻﻮرت ﻓﺮدی و ﯾﺎ در ﮔﺮوهﻫﺎی ﺣﺪاﮐﺜﺮ ﺳﻪ ﻧﻔﺮه اﻧﺠﺎم ﺷﻮد.
  • توجه کنید که لزومی ندارد PRهای شما حتماً merge شوند تا نمره‌ی آن‌ها را بگیرید، اما در صورت merge شدن PRها با کد اصلی پروژه‌ی هدف، ممکن است که نمره‌ی اضافه‌تری دریافت کنید!
  • در issueهایی که به حل آن‌ها می‌پردازید، حتماً باید کد بزنید و پاسخ‌دادن به issueهایی که در آن‌ها سوالی مطرح شده یا اصلاح مستندات پروژه (مانند اصلاح README) هدف این بخش نیست.
  • بعضی از repository ها (مانند javascript-mini-projects) مجموعه‌ای گردآوری‌شده از پروژه‌های کوچک‌تر هستند که بیشتر به عنوان مثال استفاده می‌شوند و هر پروژه‌ی کوچک، مستقل از پروژه‌های دیگر است. حل issue و ایجاد pr در این repository ها هم مجاز نیست.

لیست ایشوهای گیت‌هاب قابل استفاده

این لیست شامل تعدادی مخزن پیشنهادی برای حل issue است؛ لزومی ندارد حتماً issueهایتان را از بین مخازن زیر انتخاب کنید و مجاز هستید که از هر منبع دیگری به حل issue بپردازید.

  1. https://github.com/browserify/browserify
  2. https://github.com/headjs/headjs/
  3. https://github.com/dalekjs/dalek
  4. https://github.com/angular/protractor/
  5. https://github.com/DevExpress/testcafe/
  6. https://github.com/avajs/ava
  7. https://github.com/Automattic/expect.js
  8. https://github.com/gotwarlost/istanbul
  9. https://github.com/assaf/zombie
  10. https://github.com/laurentj/slimerjs/
  11. https://github.com/karma-runner/karma
  12. https://github.com/theintern/intern
  13. https://github.com/puppeteer/puppeteer
  14. https://github.com/getgauge/taiko
  15. https://github.com/preactjs/preact
  16. https://github.com/NativeScript/NativeScript
  17. https://github.com/walmartlabs/thorax
  18. https://github.com/marionettejs/backbone.marionette
  19. https://github.com/artf/grapesjs
  20. https://github.com/twitter/hogan.js
  21. https://github.com/handlebars-lang/handlebars.js
  22. https://github.com/marko-js/marko
  23. https://github.com/chartjs/Chart.js
  24. https://github.com/paperjs/paper.js
  25. https://github.com/fabricjs/fabric.js
  26. https://github.com/NUKnightLab/TimelineJS3
  27. https://github.com/handsontable/handsontable
  28. https://github.com/frappe/datatable
  29. https://github.com/parallax/jsPDF
  30. https://github.com/lodash/lodash
  31. https://github.com/andrewplummer/Sugar
  32. https://github.com/selfrefactor/rambda
  33. https://github.com/adamwdraper/Numeral-js
  34. https://github.com/marcuswestin/store.js
  35. https://github.com/davidmerfield/randomColor
  36. https://github.com/DmitryBaranovskiy/raphael
  37. https://github.com/visjs/vis-network
  38. https://github.com/processing-js/processing-js
  39. https://github.com/gwatts/jquery.sparkline
  40. https://github.com/visionmedia/page.js
  41. https://github.com/nolimits4web/swiper
  42. https://github.com/hammerjs/hammer.js
  43. https://github.com/gridsome/gridsome
  44. https://github.com/jamesallardice/Placeholders.js
  45. https://github.com/fullcalendar/fullcalendar
  46. https://github.com/dataarts/dat.gui
  47. https://github.com/sourcegraph/conc
  48. https://github.com/stretchr/testify
  49. https://github.com/kubernetes/client-go
  50. https://github.com/opencontainers/image-spec
  51. https://github.com/containerd/containerd
  52. https://github.com/redis/go-redis
  53. https://github.com/aquasecurity/trivy-operator
  54. https://github.com/go-playground/validator
  55. https://github.com/spf13/cobra
  56. https://github.com/casbin/casbin
  57. https://github.com/influxdata/telegraf
  58. https://github.com/pingcap/tidb
  59. https://github.com/opencost/opencost
  60. https://github.com/kubesphere/kubesphere
  61. https://github.com/hashicorp/consul
  62. https://github.com/go-co-op/gocron

Stackoverflow

  • فعالیت مورد نظر:
    • پیدا کردن و پاسخ دادن به حداقل ۳ سوال کاربران در سایت Stackoverflow.
    • هر سوال باید مربوط به یکی از موضوعات backend، frontend یا زیرساخت باشد (از هر موضوع یک سوال). سوال انتخاب شده باید برچسب (tag) مربوط به موارد تدریس شده در درس را داشته باشد.
  • الزامات:
    • پاسخ‌ها باید اصیل و نوشته شده توسط خود شما باشند.
  • منابع:

نکات عمومی

  • تمرین به صورت گروهی و در گروه‌های ۳ نفره انجام می‌شود.
  • پاسخ‌ها باید به صورت لینک ارائه شوند و کافی‌ست همه‌ی لینک‌ها را در یک فایل txt قرار دهید و در کوئرا آپلود کنید. این فایل کافی‌ست شامل لینک‌های مربوطه باشد و برای هر لینک نام عضوی از تیم که مسئول پاسخ دادن یا pull request است، آورده شده باشد.
  • توجه کنید، در مجموع ۹ تا فعالیت باید انجام شود و از هر کدوم از انوع تسک‌ها، ۳ تا باید انجام دهید.