├── _config.yml ├── .travis.yml ├── .gitignore ├── util ├── stats.cr └── readme.cr ├── CONTRIBUTING.md ├── spec └── readme_spec.cr ├── CODE_OF_CONDUCT.md ├── LICENSE.md └── README.md /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: crystal 2 | crystal: 3 | - latest 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.deps/ 2 | /libs/ 3 | /.crystal/ 4 | 5 | 6 | # Libraries don't need dependency lock 7 | # Dependencies will be locked in application that uses them 8 | /.deps.lock 9 | -------------------------------------------------------------------------------- /util/stats.cr: -------------------------------------------------------------------------------- 1 | require "uri" 2 | require "./readme" 3 | 4 | Readme 5 | .new 6 | .refs(/t/) 7 | .map { |ref| URI.parse(ref).path.as(String?).try &.split(/\//).try &.[1] } 8 | .compact 9 | .reject(&.blank?) 10 | .map(&.downcase) 11 | .group_by(&.itself) 12 | .to_a 13 | .sort_by { |_, entries| -1 * entries.size } 14 | .each_with_index do |heros, i| 15 | puts "#{i + 1}. #{heros.first} (#{heros.last.size} entries)" 16 | end 17 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | Please ensure your pull request adheres to the following guidelines: 4 | 5 | - Search previous suggestions before making a new one, as yours may be a duplicate. 6 | - The group type should be a public group. 7 | - The group member should be at least 100 members. 8 | - Suggested packages should be tested and documented. 9 | - Use the following format: `[NAME](LINK)` 10 | - Use alphabetical order 11 | - New group names or improvements to the existing group name are welcome. 12 | - End all descriptions with a full stop/period. 13 | - Check your spelling and grammar. 14 | - Make sure your text editor is set to remove trailing whitespace. 15 | 16 | Thank you for your suggestions! 17 | -------------------------------------------------------------------------------- /util/readme.cr: -------------------------------------------------------------------------------- 1 | require "xml" 2 | require "markdown" 3 | 4 | class Readme 5 | getter html : XML::Node 6 | getter path : String 7 | 8 | def initialize(@path : String = "./README.md") 9 | @html = to_html File.read(@path) 10 | end 11 | 12 | def find(xpath) 13 | @html.xpath(xpath) 14 | end 15 | 16 | def awesomeness 17 | find("//ul/li/a").as XML::NodeSet 18 | end 19 | 20 | def refs(selects = nil) 21 | set = find("//ul/li/a/@href").as XML::NodeSet 22 | refs = set.map { |node| node.text.as String } 23 | refs.select! { |x| x =~ selects } if selects 24 | refs 25 | end 26 | 27 | def groups 28 | set = find("//ul[li]").as XML::NodeSet 29 | set.map do |node| 30 | n = XML.parse(node.to_s).xpath("/ul/li/a[1]/text()").as XML::NodeSet 31 | n.map { |el| el.text.as String } 32 | end 33 | end 34 | 35 | private def to_html(markdown) 36 | XML.parse_html %[ 37 | 38 | #{Markdown.to_html(markdown)} 39 | 40 | ] 41 | end 42 | end 43 | -------------------------------------------------------------------------------- /spec/readme_spec.cr: -------------------------------------------------------------------------------- 1 | # thanks veelenga 2 | require "spec" 3 | require "uri" 4 | require "../util/readme" 5 | 6 | readme = Readme.new 7 | 8 | describe "List All Programming Telegram Group" do 9 | it "has references to awesomeness" do 10 | readme.refs(/t/).empty?.should be_false 11 | end 12 | 13 | it "has telegram references t" do 14 | readme.refs(/t/).each do |ref| 15 | uri = URI.parse(ref) 16 | uri.scheme.should eq "https" 17 | uri.host.should eq "t.me" 18 | uri.path.should_not be nil 19 | end 20 | end 21 | 22 | it "does not have duplicates" do 23 | prev = nil 24 | readme.refs(/t/).map do |ref| 25 | uri = URI.parse(ref) 26 | host = uri.host.as String 27 | path = uri.path.as String? 28 | "#{host.downcase}#{path.try &.downcase}" 29 | end.sort.each do |ref| 30 | ref.should_not eq prev 31 | prev = ref 32 | end 33 | end 34 | 35 | it "has alphabetical case insensitive order" do 36 | readme.groups.each do |group| 37 | sorted = group.sort { |x, y| x.downcase <=> y.downcase } 38 | group.each_with_index do |awesome, i| 39 | awesome.should eq sorted[i] 40 | end 41 | end 42 | end 43 | 44 | context "Document" do 45 | it "does not have trailing spaces" do 46 | File.read_lines(readme.path).each_with_index do |line, line_number| 47 | (line =~ /[ \t]+$/ && line_number + 1).should eq nil 48 | end 49 | end 50 | end 51 | end 52 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity 10 | and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the 26 | overall community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or 31 | advances of any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email 35 | address, without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement. 63 | All complaints will be reviewed and investigated promptly and fairly. 64 | 65 | All community leaders are obligated to respect the privacy and security of the 66 | reporter of any incident. 67 | 68 | ## Enforcement Guidelines 69 | 70 | Community leaders will follow these Community Impact Guidelines in determining 71 | the consequences for any action they deem in violation of this Code of Conduct: 72 | 73 | ### 1. Correction 74 | 75 | **Community Impact**: Use of inappropriate language or other behavior deemed 76 | unprofessional or unwelcome in the community. 77 | 78 | **Consequence**: A private, written warning from community leaders, providing 79 | clarity around the nature of the violation and an explanation of why the 80 | behavior was inappropriate. A public apology may be requested. 81 | 82 | ### 2. Warning 83 | 84 | **Community Impact**: A violation through a single incident or series 85 | of actions. 86 | 87 | **Consequence**: A warning with consequences for continued behavior. No 88 | interaction with the people involved, including unsolicited interaction with 89 | those enforcing the Code of Conduct, for a specified period of time. This 90 | includes avoiding interactions in community spaces as well as external channels 91 | like social media. Violating these terms may lead to a temporary or 92 | permanent ban. 93 | 94 | ### 3. Temporary Ban 95 | 96 | **Community Impact**: A serious violation of community standards, including 97 | sustained inappropriate behavior. 98 | 99 | **Consequence**: A temporary ban from any sort of interaction or public 100 | communication with the community for a specified period of time. No public or 101 | private interaction with the people involved, including unsolicited interaction 102 | with those enforcing the Code of Conduct, is allowed during this period. 103 | Violating these terms may lead to a permanent ban. 104 | 105 | ### 4. Permanent Ban 106 | 107 | **Community Impact**: Demonstrating a pattern of violation of community 108 | standards, including sustained inappropriate behavior, harassment of an 109 | individual, or aggression toward or disparagement of classes of individuals. 110 | 111 | **Consequence**: A permanent ban from any sort of public interaction within 112 | the community. 113 | 114 | ## Attribution 115 | 116 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 117 | version 2.0, available at 118 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 119 | 120 | Community Impact Guidelines were inspired by [Mozilla's code of conduct 121 | enforcement ladder](https://github.com/mozilla/diversity). 122 | 123 | [homepage]: https://www.contributor-covenant.org 124 | 125 | For answers to common questions about this code of conduct, see the FAQ at 126 | https://www.contributor-covenant.org/faq. Translations are available at 127 | https://www.contributor-covenant.org/translations. 128 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Indonesia Telegram Groups 2 | 3 | A list of awesome Indonesian groups related to a programming language on Telegram. 4 | 5 |
6 | 7 | 8 | ## List 9 | 10 | 11 | - [Blockchain](#blockchain) 12 | - [Cloud Computing Services](#cloud-computing-services) 13 | - [Cloud Infrastructure](#cloud-infrastructure) 14 | - [Data Playground](#data-playground) 15 | - [Database](#database) 16 | - [Design](#design) 17 | - [Development](#development) 18 | - [DevOps](#devops) 19 | - [Firebase](#firebase) 20 | - [FreeBSD](#freebsd) 21 | - [Game Development](#game-development) 22 | - [Internet of Things (IoT)](#internet-of-things-iot) 23 | - [iOS](#ios) 24 | - [Jokes](#jokes) 25 | - [Linux](#linux) 26 | - [Lowongan Kerja](#lowongan-kerja) 27 | - [macOS](#macos) 28 | - [Microservice](#microservice) 29 | - [Mikrotik](#mikrotik) 30 | - [Office](#office) 31 | - [Open Source](#open-source) 32 | - [Programming Language](#programming-language) 33 | - [Quantum](#quantum) 34 | - [Science](#science) 35 | - [Security](#security) 36 | - [Software Quality Assurance (SQA)](#software-quality-assurance-sqa) 37 | - [Startup](#startup) 38 | - [Text Editor](#text-editor) 39 | - [Tentang Telegram](#tentang-telegram) 40 | - [Tips](#tips) 41 | - [Windows](#windows) 42 |
43 | 44 | [back to the 🔝](#list) 45 | 46 |
47 | 48 | 49 | ### Blockchain 50 | 51 | 52 | - [Friends with Blockchain](https://t.me/friendswithblockchain) 53 | - [Hyperledger (Enterprise) Blockchain Indonesia](https://t.me/hl_id) 54 | - [Nusantara Chain (Nuchain)](https://t.me/nusantarachain) 55 | - [Official Stacks Chapter Indonesia](https://t.me/stacksindonesia) 56 |
57 | 58 | [back to the 🔝](#list) 59 | 60 |
61 | 62 | 63 | ### Cloud Computing Services 64 | 65 | 66 | - [#JuaraGCP](https://t.me/JuaraGCP) 67 | - [AWS Analytics User Group Indonesia](https://t.me/AWSDataUserGroupID) 68 | - [AWS User Group Indonesia](https://t.me/AWSUserGroupID) 69 | - [Azure ID](https://t.me/azureindo) 70 | - [GCP User Group Indonesia](https://t.me/GCPUserID) 71 | - [Google Cloud Platform Indonesia](https://t.me/GCP_ID) 72 |
73 | 74 | [back to the 🔝](#list) 75 | 76 |
77 | 78 | 79 | ### Cloud Infrastructure 80 | 81 | 82 | - [OpenStack Indonesia](https://t.me/openstackindo) 83 | - [Ceph.id](https://t.me/cephid) 84 |
85 | 86 | [back to the 🔝](#list) 87 | 88 |
89 | 90 | 91 | ### Data Playground 92 | 93 | 94 | - [Artificial Intelligence Indonesia](https://t.me/ArtificialIntelligence_Indonesia) 95 | - [Business Intelligence Indonesia](https://t.me/businessintelligenceID) 96 | - [Data Engineering Indonesia](https://t.me/dataengineeringid) 97 | - [Data Scientist Indonesia](https://t.me/datascienceindonesia) 98 | - [Indonesia AI Forum](https://t.me/IAIForum) 99 | - [Machine Learning ID](https://t.me/machinelearningid) 100 | - [Natural Language ID](https://t.me/nlp_lounge) 101 | - [PyTorch Indonesia](https://t.me/pytorchid) 102 | - [Scrape ID](https://t.me/ScrapeID) 103 | - [Tableau Professionals](https://t.me/TableauProfessionals) 104 | - [TensorFlow Indonesia](https://t.me/tensorflowid) 105 |
106 | 107 | [back to the 🔝](#list) 108 | 109 |
110 | 111 | 112 | ### Database 113 | 114 | 115 | - **Microsoft SQL Server** 116 | 117 | - [SQL Server Indonesia](https://t.me/sqlserverid) 118 | 119 | - **MongoDB** 120 | 121 | - [MongoDB Indonesia](https://t.me/MongoDB_ID) 122 | - [MongoDB User Group](https://t.me/mongo_db) 123 | 124 | - **MySQL** 125 | 126 | - [MySQL & MariaDB Indonesia](https://t.me/mysqlid) 127 | 128 | - **PostgreSQL** 129 | - [PostgreSQL Indonesia](https://t.me/postgresql_id) 130 |
131 | 132 | [back to the 🔝](#list) 133 | 134 |
135 | 136 | 137 | ### Design 138 | 139 | 140 | - [GimpScape ID](https://t.me/gimpscape) 141 | - [Photoshop Community ID](https://t.me/photoshopcommunity_id) 142 | - [Sinau Desain](https://t.me/SinauDesain) 143 | - [Belajar Desain Grafis](https://t.me/belajarngedesain) 144 | - [UI/UX Indonesia](https://t.me/UiuxIndo) 145 | - [Uplabs Indonesia](https://t.me/uplabsindonesia) 146 | - [UXiD Lombok](https://t.me/uxidlombok) 147 |
148 | 149 | [back to the 🔝](#list) 150 | 151 |
152 | 153 | 154 | ### Development 155 | 156 | 157 | - [BandungDev](https://t.me/bandungdevcom) 158 | - [Belajar Coding Bareng](https://t.me/BelajarCoding) 159 | - [Belajar Ngoding](https://t.me/belajarngodingbareng) 160 | - [Belajar GNU R Indonesia](https://t.me/GNURIndonesia) 161 | - [Belajar Golang MariaDB](https://t.me/BelajarGolangMariaDB) 162 | - [Belajar HTML](https://t.me/belajarhtmlcss) 163 | - [Bogor Developers](https://t.me/BogorDev) 164 | - [Borneo Koding](https://t.me/borneokoding) 165 | - [Bot Telegram API](https://t.me/TgBotID) 166 | - [Otodidak Pemrograman](https://t.me/otodidak_ngoding) (Channel) 167 | - [CirebonDev](https://t.me/crbdev) 168 | - [codingfess](https://t.me/codingfess) 169 | - [[c]oretan Script](https://t.me/cScript) 170 | - [Femalegeek](https://t.me/femalegeek) 171 | - [Free Kelas Github](https://t.me/freekelasgithub) 172 | - [Frontend Developer Indonesia](https://t.me/FrontEndID) 173 | - [Gresik Dev](https://t.me/gresikdev) 174 | - [IAM Indonesia](https://t.me/IAMIndonesia) 175 | - [IDStack](https://t.me/idstack) 176 | - [Infotech Programmer](https://t.me/infotechprogrammer) (Channel) 177 | - [IT Nusantara](https://t.me/ITNusantara) 178 | - [JemberDev](https://t.me/DjemberDev) 179 | - [Kabayan Coding](https://t.me/kabayan_coding) 180 | - [Kelas Mobile Malang](https://t.me/KelasMobileMalang) 181 | - [Komunitas Backend Developer](https://t.me/BackEndID) 182 | - [Komunitas Belajar Koding](https://t.me/komunitasbk) 183 | - [Komunitas RPA Indonesia](https://t.me/KomunitasRPAIndonesia) 184 | - [Kongkow IT Medan](https://t.me/kongkowITMedan) 185 | - [Kongkow IT Pekanbaru](https://t.me/kongkowITpekanbaru) 186 | - [Kotakode](https://t.me/kotakodebetachat) 187 | - [Kulkul.tech Community - Meetup and Dev Community](https://t.me/kulkultech) 188 | - [Odoo - OpenERP Indonesia](https://t.me/odooindonesia) 189 | - [Pasuruan Dev](https://t.me/pasuruandev) 190 | - [Programmer Semarang Raya](https://t.me/programersemarangraya) 191 | - [RantauDev](https://t.me/rantaudev) 192 | - [Santren Koding](https://t.me/santrenkoding) 193 | - [SARCCOM Universe](https://t.me/sarccomuniverse) 194 | - [Sidoarjo Dev](https://t.me/sidoarjodev) 195 | - [SinauDev - Sinau Development](https://t.me/sinaudev) 196 | - [Software Engineer Indonesia](https://t.me/soft_eng_id) 197 | - [SparkAR Indonesia](https://t.me/sparkarindonesia) 198 | - [Surabaya Dev](https://t.me/surabayadev) 199 | - [LamonganDev](https://t.me/lamongandev) 200 | - [Taman Kode-Kode](https://t.me/tamankodekode) 201 | - [Tech in Asia Dev Community](https://t.me/TIAdevcommunity) 202 | - [Teknologi Umum](https://t.me/teknologi_umum_v2) 203 | - [WordPress](https://t.me/idwordpress) 204 | - [SMKDEV Community](https://t.me/smk_dev) 205 |
206 | 207 | [back to the 🔝](#list) 208 | 209 |
210 | 211 | 212 | ### DevOps 213 | 214 | 215 | - [Ansible Indonesia](https://t.me/ansibleid) 216 | - [Cloud Computing Indonesia](https://t.me/cloudcomputingindonesia) 217 | - [Docker Indonesia](https://t.me/dockeridn) 218 | - [IDDevOps](https://t.me/IDDevOps) 219 | - [Kubernetes & Cloud Native Indonesia](https://t.me/kubernetesindonesia) 220 | - [OKD Indonesia](https://t.me/okdindonesia) 221 | - [DevOps Jogja](https://t.me/devopsjogja) 222 |
223 | 224 | [back to the 🔝](#list) 225 | 226 |
227 | 228 | 229 | ### Firebase 230 | 231 | 232 | - [Firebase Indonesia](https://t.me/firebaseindonesia) 233 |
234 | 235 | [back to the 🔝](#list) 236 | 237 |
238 | 239 | 240 | ### FreeBSD 241 | 242 | 243 | - [Laskar Setan Merah - Sharing All About FreeBSD](https://t.me/setanmerahID) 244 |
245 | 246 | [back to the 🔝](#list) 247 | 248 |
249 | 250 | 251 | ### Game Development 252 | 253 | 254 | - [GAMERANG - Game Developer Semarang](https://t.me/gamerang) 255 | - [Indonesian GDevelop](https://t.me/GDevelopID) 256 | - [Komunitas Godot Indonesia](https://t.me/godot_indonesia) 257 | - [Lombok Games Developers (LGD)](https://t.me/lombokgamedev) 258 |
259 | 260 | [back to the 🔝](#list) 261 | 262 |
263 | 264 | 265 | ### Internet of Things (IoT) 266 | 267 | 268 | - [KelasRobot.com](https://t.me/kelasrobotgrup) 269 | - [Arduino Indonesian Community (GAK ADA ADMIN, LEBIH BANYAK SPAM!)](https://t.me/ArduinoIndonesianCommunity) 270 | - [arduinoindonesia.id](https://t.me/edukasielektronika) 271 | - [Raspberry PI Indonesia](https://t.me/raspberrypi_id) 272 |
273 | 274 | [back to the 🔝](#list) 275 | 276 |
277 | 278 | 279 | ### iOS 280 | 281 | 282 | - [iKaskus](https://t.me/ikaskus) 283 | - [iNitial E](http://t.me/initialestore) 284 | - [libimobiledevice](http://t.me/libimobiledevice) 285 |
286 | 287 | [back to the 🔝](#list) 288 | 289 |
290 | 291 | 292 | ### Jokes 293 | 294 | 295 | - [Linux memes](https://t.me/linux_memes) (Channel) 296 | - [Programmer Jokes](https://t.me/programmerjokes) (Channel) 297 |
298 | 299 | [back to the 🔝](#list) 300 | 301 |
302 | 303 | 304 | ### Linux 305 | 306 | 307 | - [Arch Linux Indonesia](https://t.me/ArchLinuxID) 308 | - [Artix Linux Indonesia](https://t.me/artixlinux_id) 309 | - [Belajar GNU/Linux Indonesia](https://t.me/GNULinuxIndonesia) 310 | - [Belajar Linux](https://t.me/belajarlinuxbareng) 311 | - [BlankOn Linux](https://t.me/BlankOnLinux) 312 | - [CentOS.ID](https://t.me/centosID) 313 | - [Debian Indonesia](https://t.me/Debianid) 314 | - [Deepin Linux Indonesia](https://t.me/deepin_indonesia) 315 | - [Dotfiles Indonesia](https://t.me/dotfiles_id) 316 | - [Elementary OS Indonesia](https://t.me/elementaryID) 317 | - [Fedora Indonesia](https://t.me/FedoraID) 318 | - [GNOME Indonesia](https://t.me/gnomeid) 319 | - [GNU/Weeb](https://t.me/GNUWeeb) 320 | - [Kali Linux Indonesia](https://t.me/KaliLinuxID) 321 | - [KDE Indonesia](https://t.me/kdeid) 322 | - [Komunitas GNU/Linux Malang](https://t.me/linuxmalang) 323 | - [Komunitas Linux Jember](https://t.me/linuxjember) 324 | - [Linux From Scratch ID](https://t.me/lfsid) 325 | - [LangitKetujuh ID](https://t.me/langitketujuh_id) 326 | - [Linux Mint Indonesia](https://t.me/mint_id) 327 | - [Linux Community ID](https://t.me/LinuxGroupID) 328 | - [Manjaro Indonesia](https://t.me/manjaroID) 329 | - [NixOS Indonesia](https://t.me/nixosid) 330 | - [openSUSE Indonesia](https://t.me/openSUSE_ID) 331 | - [Paguyuban Linux Solo](https://t.me/linuxsolo) 332 | - [ParrotSec Indonesia](https://t.me/parrotsecurityindonesia) 333 | - [Red Hat Enterprise Linux ID](https://t.me/rhel_id) 334 | - [Ubuntu Indonesia](https://t.me/ubuntu_indo) 335 | - [Void Linux Indonesia](https://t.me/voidlinux_id) 336 |
337 | 338 | [back to the 🔝](#list) 339 | 340 |
341 | 342 | 343 | ### Lowongan Kerja 344 | 345 | 346 | - [Freelance Project IT](https://t.me/freelance_01) 347 | - [Freelancer - Indonesia](https://t.me/freelancerID) 348 | - [Kotakode Jobs](https://t.me/kotakodejobs) (Channel) 349 | - [LOKER DEVELOPER/PROGRAMMER](https://t.me/LokerDeveloper) (Channel) 350 | - [Loker Jakarta](https://t.me/loker_jakarta) 351 | - [Lowongan Kerja IT](https://t.me/LowonganKerjaIT) (Channel) 352 | - [Rails Indonesia Loker](https://t.me/RailsID_LOKER) (Channel) 353 | - [Ruby Indonesia Loker](https://t.me/RubyID_LOKER) (Channel) 354 |
355 | 356 | [back to the 🔝](#list) 357 | 358 |
359 | 360 | 361 | ### macOS 362 | 363 | 364 | - [macOS Indonesia](https://t.me/macOSID) 365 |
366 | 367 | [back to the 🔝](#list) 368 | 369 |
370 | 371 | 372 | ### Microservice 373 | 374 | 375 | - [Microservice Architecture](https://t.me/msarchitecture) 376 | - [Microservice Indonesia](https://t.me/microservices_id) (Not Active) 377 |
378 | 379 | [back to the 🔝](#list) 380 | 381 |
382 | 383 | 384 | ### Mikrotik 385 | 386 | 387 | - [Mikrotik Indonesia](https://t.me/officialmikrotik) 388 | - [Gatcha.org](https://t.me/trick_ngirit) 389 |
390 | 391 | [back to the 🔝](#list) 392 | 393 |
394 | 395 | 396 | ### Office 397 | 398 | 399 | - [Excel Indonesia](https://t.me/excelid) 400 | - [Libreoffice Indonesia](https://t.me/BelajarLibreOfficeIndonesia) 401 |
402 | 403 | [back to the 🔝](#list) 404 | 405 |
406 | 407 | 408 | ### Open Source 409 | 410 | 411 | - [OSINT Indonesia](https://t.me/OSINT_Indonesia) 412 | - [DOSCOM - Dinus Open Source Community](https://t.me/doscomedia) 413 |
414 | 415 | [back to the 🔝](#list) 416 | 417 |
418 | 419 | 420 | ### Programming Language 421 | 422 | 423 | - **.NET** 424 | 425 | - [.NET Indonesia](https://t.me/dotnetusergroup) 426 | - [One .NET Indonesia](https://t.me/dotnetcore_id) 427 | - [Xamarin Indonesia](https://t.me/xamarinindonesia) 428 | 429 | - **Android** 430 | 431 | - [ADB (Android Developer Bandung)](https://t.me/androidDevBdg) 432 | - [ADN (Android Developer Nasional)](https://t.me/androiddevelopernasional) 433 | - [Android - Teknorial.com](https://t.me/teknorialcom) 434 | - [Android Developer Lombok](https://t.me/android_lombok) 435 | - [AndroidDev Surabaya](https://t.me/androiddevsurabaya) 436 | - [Jetpack Compose Indonesia](https://t.me/jcomposeindonesia) 437 | - [SANDEC (Semarang Android Developer Center)](https://t.me/AndroidSemarang) 438 | - [Source Code Android](https://t.me/source_code_android) 439 | - [Yogyakarta Android Community](https://t.me/YACgroup) 440 | 441 | - **Agile** 442 | 443 | - [Agile Circle Indonesia](https://t.me/agilecirclesid) 444 | - [Agile Indonesia](https://t.me/agileindonesia) 445 | 446 | - **Assembly** 447 | 448 | - [Assembly Programming](https://t.me/AssemblyID) 449 | 450 | - **Bash** 451 | - [Bash.ID](https://t.me/bashidorg) 452 | 453 | - **C/C++** 454 | 455 | - [C/C++ Indonesia](https://t.me/CCpp_Indonesia) 456 | - [Indonesia C/C++ Warriors](https://t.me/idcplc) 457 | 458 | - **Crystal** 459 | 460 | - [Crystal User Group Indonesia](https://t.me/CrystalID) 461 | 462 | - **Dart** 463 | 464 | - [dart.web](https://t.me/dart_web) 465 | - [Flutter Indonesia](https://t.me/flutter_id) 466 | - [Flutter Jakarta](https://t.me/flutter_jkt) 467 | - [Flutter Makassar](https://t.me/fluttermakassar) 468 | - [Lombok Flutter](https://t.me/lombokflutter) 469 | 470 | - **Elixir** 471 | 472 | - [Elixir ID](https://t.me/elixir_id) 473 | 474 | - **Golang** 475 | 476 | - [Golang Indonesia](https://t.me/gophers_id) 477 | - [Golang Jogja](https://t.me/golangjogja) 478 | - [Golang Surabaya](https://t.me/golangSurabaya) 479 | 480 | - **Rust** 481 | - [Rust indonesia](https://t.me/rustacean_id) 482 | 483 | - **Haskell** 484 | 485 | - [Haskell ID](#) (not find group) 486 | 487 | - **Java** 488 | 489 | - [JVM User Group](https://t.me/JVMIndonesia) 490 | 491 | - **JavaScript** 492 | 493 | - [Adonis.js Indonesia](https://t.me/adonisid) 494 | - [Angular Indonesia](https://t.me/AngularID) 495 | - [Deno Indonesia](https://t.me/deno_id) 496 | - [Electron Desktop User Group](No Groups) 497 | - [Ionic Indonesia](https://t.me/indonesiaionic) 498 | - [Javascript Indonesia](https://t.me/js_id) 499 | - [Jogja Js](https://t.me/jogjajs) 500 | - [Lombok Js](https://t.me/lombokjs) 501 | - [NativeScript ID](https://t.me/nativescript_id) 502 | - [Nestjs Indonesia](https://t.me/nestjs_indonesia) 503 | - [Next.js Indonesia](https://t.me/nextjs_id) 504 | - [Nodejs Indonesia](https://t.me/nodejsid) 505 | - [Bun Indonesia](https://t.me/bun_id) 506 | - [React Indonesia](https://t.me/react_idn) 507 | - [React Native Indonesia](https://t.me/reactnativeindo) 508 | - [SurabayaJs](https://t.me/surabayajs) 509 | - [Svelte Indonesia](https://t.me/svelte_id) 510 | - [Vue.js Indonesia](https://t.me/vuejsindonesia) 511 | 512 | - **Kotlin** 513 | 514 | - [Kotlin Cirebon](https://t.me/kotlin_crb) 515 | - [Kotlin Indonesia](https://t.me/KotlinIndonesia) 516 | 517 | - **Pascal - Delphi** 518 | 519 | - [Delphi Indonesia](https://t.me/delphiindonesia) 520 | - [Pascal Indonesia](https://t.me/PascalID) 521 | 522 | - **PHP** 523 | 524 | - [CodeIgniter Indonesia](https://t.me/codeigniterindonesia) 525 | - [Laravel Indonesia](https://t.me/laravelindonesia) 526 | - [PHP Indonesia for Business](https://t.me/PHPIDforBusiness) 527 | - [PHP Indonesia for Student](https://t.me/PHPIDforStudent) 528 | - [PHP Indonesia Jogloraya](https://t.me/phpjogloraya) 529 | - [Symfony Framework Indonesia](https://t.me/symfonyid) 530 | - [Telegram Bot PHP - Indonesia](https://t.me/botphp) 531 | - [Yii Framework Indonesia](https://t.me/YiiFrameworkIndonesia) 532 | 533 | - **Python** 534 | 535 | - [Bandung.py](https://t.me/bandung_py) 536 | - [Django Indonesia](https://t.me/DjangoID) 537 | - [FastAPI Indonesia](https://t.me/fastapiid) 538 | - [Flask ID](https://t.me/flaskid) 539 | - [Lombok.py](https://t.me/lombok_py) 540 | - [mks.py](https://t.me/mkspy) 541 | - [Python ID Jogja](https://t.me/pyjogja) 542 | - [Python Indonesia](https://t.me/pythonID) 543 | - [Python](https://t.me/Python) 544 | - [Pythonlearnerr](https://t.me/pythonlearnerr) 545 | - [Python / Django Learners](https://t.me/python_learners_group) 546 | - [Surabaya.py](https://t.me/surabayapy) 547 | 548 | - **Ruby** 549 | 550 | - [Rails Indonesia](https://t.me/RailsID) 551 | - [Ruby Indonesia](https://t.me/ruby_id) 552 | 553 | - **Swift** 554 | 555 | - [Swift Indonesia](https://t.me/swiftID) 556 | 557 | - **Typescript** 558 | - [Typescript Indonesia](https://t.me/TypescriptIndonesia) 559 | 560 | - **SAP ABAP Indonesia** 561 | - [SAP-ABAP Indonesia](https://t.me/sapabapindonesia) 562 |
563 | 564 | [back to the 🔝](#list) 565 | 566 |
567 | 568 | 569 | ### Quantum 570 | 571 | 572 | - [Indonesian Quantum Computing Enthusiasts](https://t.me/idqce) 573 | - [Indonesian QML](https://t.me/IDQML) 574 |
575 | 576 | [back to the 🔝](#list) 577 | 578 |
579 | 580 | 581 | ### Science 582 | 583 | 584 | - **Geographic Information System and Remote Sensing** 585 | - [GIS Indonesia](https://t.me/gis_id) 586 | - [Leaflet.js Indonesia](https://t.me/leafletid) 587 | - [QGIS Indonesia](https://t.me/qgisindonesia) 588 |
589 | 590 | [back to the 🔝](#list) 591 | 592 |
593 | 594 | 595 | ### Security 596 | 597 | 598 | - [ForensicaID](https://t.me/ForensicaID) 599 | - [IT SECURITY INDONESIA](https://t.me/itsecurityindonesia) 600 | - [Linuxhackingid](https://t.me/linuxhackingid) 601 | - [Orang Siber Indonesia](https://t.me/orangsiber) 602 | - [Reversing.ID](https://t.me/reversingid) 603 | - [Security.ID](https://t.me/CyberSecurity_ID) 604 | - [HackTheBox Indonesia](https://t.me/hacktheboxindo) 605 |
606 | 607 | [back to the 🔝](#list) 608 | 609 |
610 | 611 | 612 | ### Software Quality Assurance (SQA) 613 | 614 | 615 | - [Indonesian Software Quality Assurance](https://t.me/sqa_id) 616 | - [ISQA Chapter Jogja](https://t.me/joinchat/HxMrghPz5z3hr0eiRBcXOQ) 617 | - [Malang Quality Assurance](https://t.me/qamalang) 618 |
619 | 620 | [back to the 🔝](#list) 621 | 622 |
623 | 624 | 625 | ### Startup 626 | 627 | 628 | - [Cafe Startup 140315](https://t.me/cafestartup) 629 | - [Startup Life Indonesia](https://t.me/StartupLifeIndonesia) 630 | - [Startup Weekend Indonesia](https://t.me/startupweekendindonesia) 631 |
632 | 633 | [back to the 🔝](#list) 634 | 635 |
636 | 637 | 638 | ### Text Editor 639 | 640 | 641 | - [Emacs Indonesia](https://t.me/emacsID) 642 | - [Vim Indonesia](https://t.me/VimID) 643 |
644 | 645 | [back to the 🔝](#list) 646 | 647 |
648 | 649 | 650 | ### Tentang Telegram 651 | 652 | 653 | - [Telegram beta](https://t.me/tgbeta) 654 |
655 | 656 | [back to the 🔝](#list) 657 | 658 |
659 | 660 | 661 | ### Tips 662 | 663 | 664 | - [The Art of Programming](https://t.me/theprogrammingart) 665 |
666 | 667 | [back to the 🔝](#list) 668 | 669 |
670 | 671 | 672 | ### Windows 673 | 674 | 675 | - [PegelWindows](https://t.me/pegelwindows) 676 | - [TeknoLugu](https://t.me/TeknoLugu) (Formerly Windows Community ID) 677 | - [WINDOWS SERVER INDONESIA](https://t.me/WindServID) 678 |
679 | 680 | [back to the 🔝](#list) 681 | 682 | ## Contributing 683 | 684 | Please see [CONTRIBUTING](CONTRIBUTING.md) for details. 685 | 686 | ## Listed by _Hendi Santika_ 687 | 688 | - Email: hendisantika@gmail.com 689 | - Telegram: [@hendisantika34](https://t.me/hendisantika34) 690 | 691 | ## License 692 | 693 | [![CC0](https://i.creativecommons.org/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 694 | 695 | To the extent possible under law, [Hendi Santika](https://github.com/hendisantika) has waived all copyright and related or neighbouring rights to this work. 696 | --------------------------------------------------------------------------------