Iran Open Source Hackathon is an open-source hackathon (duh) with the aim of encouraging participation in open-source contribution amongst Iranian developers. There is a curated list of repositories whose maintainers volunteered to be part of the hackathon. Contribute to any of these repositories during the hackathon, and at the end top contributors will be acknowledged here (so yes in the end its just about bragging rights).
π If you are a maintainer and want to enter some of your repositories in the hackathon so our participants will contribute to them, check this section.
A Note on Terminology
In these documents, keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when appearing in caps lock and in bold, are to be interpreted as described in RFC 2119. This is not a software spec document, but still the extra clarity helps avoiding confusion.
Contribute to one of these repositories during the time of the hackathon:
- Make a pull request, include #iosh in its title, body or comments.
- The pull request MUST be accepted to the repository before the end of the hackathon.
- Each pull request will count towards your total score.
- At the end, all top contributors (highest number of PRs) will be acknowledged here. We'll update the list during the hackathon every 3 hours as well.
π If you are unfamiliar with open-source contribution, git or github, take a look at these resources. You could also join us at gitter to seek help and pointers.
NOTE: Please carefully read our code of conduct before you start contributing.
- You will help improve software that people like you use (apes together strong).
- You will learn a lot (like seriously, a TON).
- You will earn street-cred (which also helps with employability).
Of course! You need to:
- Fork this repository.
- For each repository like
https://github.com/jafar/my-repo
, add a yaml file to first/repos
(i.e.first/repos/jafar/my-repo.yaml
):
# first/repos/jafar/my-repo.yaml
name: My Cool Repository
description: I am particularly cool here
languages:
- JavaScript
- Hashemi
- ...
- Make a pull request.
π You can see examples in the repos directory.
π You can add a list of maintainers (with whom hackathon participants can be in contact) as well:
# first/repos/jafar/my-repo.yaml
name: My Cool Repository
description: I am particularly cool here
languages:
- JavaScript
- Hashemi
#
# π for user `https://github.com/asghar`, add `asghar` to this list
# π also don't forget the repo owner if they are going to be a maintainer as well
#
maintainers:
- jafar # π MUST be GitHub username, NOT YOUR NAME!
- asghar
- nooshin
- maliheh
π If your repo belongs to a company or organization, you MUST specify maintainers independently.
NOTE: Please carefully read our code of conduct before you submit your repositories.
Name | Description | Owner | Maintainer(s) | Languages |
---|---|---|---|---|
jb-time-input | HTML time input Web component support keyboard typing and time select window. | javadbat | javadbat | Javascript, Web Component, SASS, HTML, CSS |
Callbag JSX | callbags + JSX: fast and tiny interactive web apps | loreanvictor | loreanvictor | typescript |
Persian Calendar for Gnome-Shell | A Gnome-Shell extension to show Persian date/calendar | omid | omid | JavaScript |
text-to-commit-history | Write a large text on your Github profile, with your commits history (contribution graph). | erfaniaa | erfaniaa | Python |
Letiner | An intelligent Leitner to memorize information, especially words, without needing to maintain boxes manually. It can be synced with Dropbox. | justmisam | justmisam | Javascript, HTML, CSS |
TyFON | Typed Functions Over Network | loreanvictor | loreanvictor | typescript, javascript |
Sariaf | Fast, simple, and lightweight HTTP router for Golang. | majidsajadi | majidsajadi | go |
ICECREAM | ICECREAM framework for Bottle designed to simplify building restful API. | xenups | xenups, navidnabavi | Python |
hybrid-boilerplate | boilerplate use react as a app and handlebar for server side rendering and use fully ES6 structure | javadbat | javadbat, Sinakhx | Javascript, Web Component, SASS, HTML, CSS |
All About Spring | A reference set of implementations of spring functions and features | shuoros | shuoros | Java |
Pytse Client | Work with tehran stock exchange data with Python | glyphack | glyphack | Python |
Web++ | A C++ web framework, aimed to be easy to use, feature-rich, and fast | the-moisrex | the-moisrex, fatal-err | C++ |
Awesome C++ | A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. | fffaraz | fffaraz | Markdown |
IranOpenSourceHackathon | A Hackathon for Iranian Open Source Developers | OSS-Hackathon | mehdy, SamaneYaghoobi, ebraminio, loreanvictor | python, yaml (GitHub Actions) |
flutter-global-configs | A flutter package to manage application configurations via singleton pattern. | initCommerce | mehdizarepour | Dart |
webp-server | Simple and minimal image server capable of storing, resizing, converting and caching images. | mehdipourfar | mehdipourfar | Go |
Better Twitter | A simple python tool that makes your Twitter timeline much better. | saeedesmaili | saeedesmaili | python |
Lightweight Message Queue (LMQ) | A lightweight message queue to work with short messages or content references as messages. | justmisam | justmisam | Go |
paperify | Backup files on paper using QRCodes. | alisinabh | alisinabh | shell |
ShamChi | Randomly selects a Persian food to cook for dinner and serves the application on a static github pages. | HesamKorki | HesamKorki | JavaScript, CSS, HTML |
MigMig | Simple HTTP Client for Golang. | majidsajadi | majidsajadi | go |
Iconbox | A world of famous icon packs with easy to use interface | iconsbox | sayjeyhi | javascript, typescript |
divar-starter-kit | React.js SSR-ready boilerplate using Razzle. | divar-ir | iMohammadReza | javascript |
FBL(Find/File broken links) | FBL is tool to find broken links in articles and files | mr-tafreshi | mr-tafreshi | Python |
PHP Rest Response | A PHP standard response structure to unify responses between microservices. | ajangi | ajangi | php |
PyLMQ | Python Library for LMQ | justmisam | justmisam | Python |
Zarb project | Zarb blockchain | zarbchain | b00f | Go, Rust, Javascript |
Tchess | Play chess in the terminal! | parsampsh | parsampsh | python, Python |
instagram-text-editor | An Instagram like text editor Flutter widget that helps you to change your text style. | mehdizarepour | mehdizarepour | Dart |
Paperboard | Paperboard, is a cli application for managing a reading list of bookmarks from the Internet. | majidsajadi | majidsajadi | javascript |
Scikit-learn Persian Community | Translated documents and educational content about scikit-learn library in machine learning | mehrdad-dev | mehrdad-dev | markdown, html, css, js |
Laravel EasyPanel | A beautiful and flexible admin panel creator based on Livewire for Laravel | rezaamini-ir | rezaamini-ir | PHP, Blade |
Persian language tools for Rust | An anthology of a variety of tools for the Persian language in Rust | rustland-fa | robatipoor, kianenigma, omid | Rust |
BarnameKon | Telegram bot which create "Add to Google Calendar" link for your events. | anvaari | anvaari | python |
thatcher-effect-dataset-generator | Using OpenCV to apply Thatcher effect on a set of face images | erfaniaa | erfaniaa | Python |
django-tgbot | Python package for creating Telegram bots inside Django projects | Ali-Toosi | Ali-Toosi | Python |
gato | A dart utility library inspired by javascript lodash library. | initCommerce | mehdizarepour | Dart |
fa.javascript.info | Modern JavaScript Tutorial in Persian (Farsi) | javascript-tutorial | mahdyar | javascript, markdown |
gRPC Go Contracts | Verify the communication of your microservices by writing contracts for your RPCs | shayanh | shayanh | go |
Javascript persian interview questions | A book with more than 1000 js questions | Mariotek | sayjeyhi | javascript, markdown |
Adminx Library | A powerful admin panel creator library for laravel framework | parsampsh | parsampsh | PHP |
jb-input | HTML input Web component with auto validation handler. | javadbat | javadbat | Javascript, Web Component, SASS, HTML, CSS |
jb-searchbar | simple configurable searchbar let you create a full filter box in a small bar support multiple filter type. | javadbat | javadbat | Javascript, Web Component, SASS, HTML, CSS |
jsonplaceholder | RTL fake REST/GraphQL API for testing and prototyping. | moharnadreza | moharnadreza | TypeScript, JavaScript, CSS |
Pyeez | A simple framework to create console applications (like htop). | mehdy | mehdy | python |
Cati Package Manager | A Package manager for UNIX operating systems | catios | parsampsh | python, Python |
Anbar | A basic S3 compatible storage server in Rust. | mehdy | mehdy | rust |
Pashmak Programming Language | The Pashmak Programming Language | pashmaklang | parsampsh | Python, python, Pashmak, pashmak |
FL Chart | A powerful Flutter chart library, currently supporting Line Chart, Bar Chart, Pie Chart, Scatter Chart and Radar Chart. | imaNNeoFighT | imaNNeoFighT | dart |
NetShears | iOS Network interceptor framework written in Swift. | divar-ir | mehdiimrz | Swift |
React.js persian interview questions | A book with more than 300 react.js questions | Mariotek | sayjeyhi | javascript, markdown |
gogit | A simple Github Toolkit written in Golang | ajangi | ajangi | golang |
Microsoft Windows 7 Preview on Web | Yet another OS preview via web technologies focused on Microsoft Windows 7. | nainemom | nainemom | javascript |
jb-select | HTML select Web component with search in options, objects array as a option list and auto validation handler. | javadbat | javadbat | Javascript, Web Component, SASS, HTML, CSS |
sonnat-ui | React component library using Sonnat Design System to build faster, elegant, and accessible web applications. | sonnat | mimshins | JavaScript, TypeScript |
Laravel Toman | Elegant Zarinpal and IDPay payment gateways for Laravel | evryn | AmirrezaNasiri | PHP |
Keepalived Exporter | Prometheus exporter for Keepalived metrics. | cafebazaar | mehdy | go |
Laravel Crypt Model | Encoding and Decoding laravel model attributes made easy. | ajangi | ajangi | php |
text-style-editor | Text style editor widget for flutter. | mehdizarepour | mehdizarepour | Dart |
Spotify Download Bot | Telegram bot helps you to download or listen to songs from spotify | glyphack | glyphack | Python |
Jami | Jami is a simple cross platform GUI for play some musical instrument | mehrdad-dev | mehrdad-dev | Go |
Peanar | A background job scheduler for Node.js based on RabbitMQ | martianboy | martianboy | typescript |
jb-date-input | HTML date input Web component with date picker and date validation for both jalali and garegorian date type and customizable shape and validation (support date picker, keyboard type & arrow keys) | javadbat | javadbat | Javascript, Web Component, SASS, HTML, CSS |
To be completed
Beginning | ΨͺΫΨ± Ϋ±Ϋ΅ | 06 July |
---|---|---|
Ending | Ψ΄ΩΨ±ΫΩΨ± Ϋ±Ϋ΅ | 06 September |
Ϋ±Ϋ΄Ϋ°Ϋ° / 2021
Your pull requests MUST be submitted after beginning of the hackathon period and be merged before the end of the hackathon.
Ideally, submit your repositories before the start of the hackathon, though you can submit it during the duration of the hackathon as well.
To be determined
Contributor | Total PRs | Repos |
---|---|---|
mahdyar | 2 | rustland-fa/persian-tools-rs |
amirzia | 1 | mehdy/pyeez |
siadat | 1 | OSS-Hackathon/IranOpenSourceHackathon |
To be determined
Repo | Total PRs | Contributors |
---|---|---|
rustland-fa/persian-tools-rs | 2 | mahdyar |
mehdy/pyeez | 1 | amirzia |
OSS-Hackathon/IranOpenSourceHackathon | 1 | siadat |