Merge branch 'master' into master

This commit is contained in:
Daniel Vasic 2018-09-27 09:11:18 +02:00 committed by GitHub
commit eb3636a832
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4061 changed files with 4449 additions and 729 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@
Gemfile.lock
*.gem
.bundle
.idea

7
.idea/encodings.xml generated
View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
</project>
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

3
.idea/modules.xml generated
View File

@ -5,5 +5,4 @@
<module fileurl="file://$PROJECT_DIR$/swot.iml" filepath="$PROJECT_DIR$/swot.iml" />
</modules>
</component>
</project>
</project>

View File

@ -1,12 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Build Swot" type="JetRunConfigurationType" factoryName="Kotlin">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="swot.SwotPackage" />
<option name="MAIN_CLASS_NAME" value="swot.CompilerKt" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="swot" />
<envs />

4
.idea/vcs.xml generated
View File

@ -2,6 +2,6 @@
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
</project>

View File

@ -1,12 +1,14 @@
# Contributing to Swot
If you did not contribute to this repository before, please read the repository rules at the bottom of [this page](https://github.com/JetBrains/swot/).
#### Data Contributions
* All of the school data is stored in a simple filesystem data structure under `lib/domains`.
* The directories are nested to match domain parts, starting with the [TLD](http://en.wikipedia.org/wiki/Top-level_domain) (Top Level Domain), then [SLDs](http://en.wikipedia.org/wiki/Second-level_domain) (Second Level Domains) beneath them, etc.
* There's a text file named after the school's domain, nested below the appropriate directory, e.g. `strath.ac.uk` would be listed as `lib/domains/uk/ac/strath.txt`.
* The contents of that file are simply the school name, e.g. `University of Strathclyde`.
* The [working example for University of Strathclyde](https://github.com/leereilly/swot/blob/master/lib/domains/uk/ac/strath.txt) :eyes:
* The [working example for University of Strathclyde](https://github.com/jetbrains/swot/blob/master/lib/domains/uk/ac/strath.txt) :eyes:
* Here's what the data structure looks like:
```
@ -22,7 +24,7 @@
##### Adding a School
Let's say you want to add the [Stanford University](http://www.stanford.edu/). We'd simply create a file at `lib/domains/edu/stanford.txt` containing the text `Stanford University`. You can safely ignores subdomain like `www`, `cis`, whatever. You can see the actual file [here](https://github.com/leereilly/swot/blob/master/lib/domains/edu/stanford.txt).
Let's say you want to add the [Stanford University](http://www.stanford.edu/). We'd simply create a file at `lib/domains/edu/stanford.txt` containing the text `Stanford University`. You can safely ignores subdomain like `www`, `cis`, whatever. You can see the actual file [here](https://github.com/jetbrains/swot/blob/master/lib/domains/edu/stanford.txt).
#### Updating a School Name

125
README.md
View File

@ -1,109 +1,60 @@
# Swot :apple:
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# swot
[![Build Status](https://api.travis-ci.org/leereilly/swot.png)](https://travis-ci.org/leereilly/swot) [![Gem Version](https://badge.fury.io/rb/swot.svg)](http://badge.fury.io/rb/swot)
JetBrains uses this **swot** repository to grant free licenses for JetBrains tools to students and teachers worldwide. If your email is in one of the domains listed in this repository, you may request your free license from JetBrains. Visit http://jetbrains.com/student to request!
If you have a product or service and offer **academic discounts**, there's a good chance there's some manual component to the approval process. Perhaps `.edu` email addresses are automatically approved because, for the most part at least, they're associated with American post-secondary educational institutions. Perhaps `.ac.uk` email addresses are automatically approved because they're guaranteed to belong to British universities and colleges. Unfortunately, not every country has an education-specific TLD (Top Level Domain) and plenty of schools use `.com` or `.net`.
There is `lib/domains` directory which contains a hierarchically structured list of email domains belonging to various educational institutions. The domains are mostly owned by colleges and universities, and also by groups of schools united together because they are sharing the same email domain between several institutions, such as Township High School District 211 of Cook County, Illinois.
Swot is a community-driven or crowdsourced library for verifying that domain names and email addresses are tied to a legitimate university of college - more specifically, an academic institution providing higher education in tertiary, quaternary or any other kind of post-secondary education in any country in the world.
If you know a school, college or university which is not on this list, feel free to submit a pull request to add it.
**Pop quiz:** Which of the following domain names should be eligible for an academic discount? `stanford.edu`, `america.edu`, `duep.edu`, `gla.ac.uk`, `wunizar.es`, `usask.ca`, `hil.no`, `unze.ba`, `fu-berlin.de`, `ecla.de`, `bvb.de`, `lsmu.com`. Answers at the foot of the page.
## Which educational institutions can be added to the repository?
### Installation
Your pull request for adding a new email domain to the repository will be satisfied if all of the conditions below are met:
Swot is a Ruby gem, so you'll need a little Ruby-fu to get it working. Simply
1. The domain is used by an educational institution, which offers at least one long-term course (one year or longer), and the course is somehow related to IT (it is in computer science, software engineering, statistics, bioinformatics, etc.)
`gem install swot`
2. The educational institution is a physical entity with student attendance and recognized as providing a learning curriculum for the educational system, or the institution is an accredited online educational organization providing their students with: (1) online courses with a curriculum at least one year long, (2) a dedicated email address which is provided to students only until their graduation.
Or add this to your `Gemfile` before doing a `bundle install`:
**NOTE:** If an organization provides primary or secondary education only (i.e., no higher education programs), it will not be included in the list. Primary and secondary school students do not usually need access to professional developer tools, and if they learn some programming, we are glad to offer them Community versions of the tools, such as PyCharm Community Edition, to use which are free to everybody.
`gem 'swot'`
If you represent a primary or secondary school and you are certain of the necessity of a professional version of a JetBrains tool for your school, please contact JetBrains sales team via https://www.jetbrains.com/support/sales/
### Usage
## How to add a domain to this repository
#### Verify Email Addresses
To add a domain, make a pull request. You must be familiar with git tool or GitHub user interface in order to make a pull request.
We will review your request, and if we accept that it meets all the following conditions then we will merge it:
```ruby
Swot::is_academic? 'lreilly@stanford.edu' # true
Swot::is_academic? 'lreilly@strath.ac.uk' # true
Swot::is_academic? 'lreilly@soft-eng.strath.ac.uk' # true
Swot::is_academic? 'pedro@ugr.es' # true
Swot::is_academic? 'lee@uottawa.ca' # true
Swot::is_academic? 'lee@leerilly.net' # false
```
1. Each domain is represented by a single `.txt` file in the repository. If there is a file `lib/domains/edu/mit.txt`, it means that an email domain `mit.edu` is included in the repository. Please note that the repository reverses the order of the name components, and also note that **.txt extension is mandatory**. Example: add file `/lib/domains/ng/edu/unaab.txt` to add a domain `unaab.edu.ng` to the repository.
#### Verify Domain Names
2. Pull requests can include one or more files which you wish to add.
```ruby
Swot::is_academic? 'harvard.edu' # true
Swot::is_academic? 'www.harvard.edu' # true
Swot::is_academic? 'http://www.harvard.edu' # true
Swot::is_academic? 'http://www.github.com' # false
Swot::is_academic? 'http://www.rangers.co.uk' # false
```
3. Each file in the repository has to contain the name of the university, which the domain represented by the file belongs to. For example, a file `/lib/domains/ng/edu/unaab.txt` has to contain a line in it: *"Federal University of Agriculture, Abeokuta"*.
The first line of the file has to contain the official name of the educational organization.
Other lines can contain other names the university is known by. A university in a non-English speaking country can have a line containing the university name in their native language, and another line with the name in English.
#### Find School Names
4. If the domain is shared by several institutions, such a school district domain, please add the last line starting with a dot (`.`) followed by the word "group". Example:
`.group`
```ruby
Swot::school_name 'lreilly@cs.strath.ac.uk'
# => "University of Strathclyde"
#### How to add the domain quicker
> We merge pull requests manually and check the information which you have provided us with before merging it.
> Thus, if you wish to make the verification process easier for us and therefore much quicker, please mention the following in your comment to the request:
> * the university official website URL, if it is different from the domain you are submitting
> * a URL of a page on the official website where a long-term (>1 year) IT related course is offered by the university
> * a URL of a page or some other proof (.pdf or a screenshot are OK) showing that the university recognizes the domain which you are submitting as an official email domain for the enrolled students.
Swot::school_name 'http://www.stanford.edu'
# => "Stanford University"
```
## How to change a domain in this repository
If a university changes its email domain or name, you can submit a pull request with the necessary changes.
### Contributing to Swot
## Additional references
Please refer to the `CONTRIBUTING.md` file in this repository to read more about the repository structure and contributing rules.
Contributions welcome! Please see the [contribution guidelines](CONTRIBUTING.md) for details on how to add, update, or delete schools. Code contributions and ports to different languages welcome too.
## FAQ
#### There are many domains in my university, how can I add all of them?
If all the domains used for teachers' and students' email are in the same upper-level domain, you can add the upper-level domain. For example, if there is a domain `joedoe.org` owned by a university, and there are subdomains such as `stud.joedoe.org` and `prof.joedoe.org`, used by the students and the teachers respectively, you can add `joedoe.org` domain only, and both students and teachers will be able to request their free licenses.
**Thanks** to the following people for their contributions:
@blutack, @captn3m0, @chrishunt, @johndbritton, @johnotander, @pborreli, @rcurtis, @vikhyat,.
However, if the upper-level domain is also used by alumni, research staff, and other people who do not participate in education directly, we encourage you to add separate subdomains, if it is possible.
**Special thanks** to @weppos for the [public_suffix](https://github.com/weppos/publicsuffix-ruby) gem :metal:
If the university uses several email domains in different upper-level domains (for example, `euroacademia.ee` and `euroacademia.eu`), please submit several files with different paths and the same content (i.e., same name of the university) in your pull request.
### Known Issues
* You can search by email and domain names only. You cannot search by IP.
* You don't know if the email address belongs to a student, faculty, staff member, alumni, or a contractor.
* There may be a few false positives, missing institutions... maybe even a couple of typos. Contributions welcome!
**Please note:** just because someone has verified that they own `lreilly@stanford.edu` does *not* mean that they're a student. They could be faculty, staff, alumnni, or maybe even an external contractor. If you're suddenly getting a lot of traffic from websites like [FatWallet](http://www.fatwallet.com) or [SlickDeals](http://www.slickdeals.net), you might want to find out why. If you're suddenly getting a lot of requests from a particular school, you should look into that too. It may be good business, word of mouth, or someone may have found a loophole. Swot gives you a *high confidence level* - not a guarantee. I recommend putting some controls in place or at least monitor how it's doing from time to time.
### What is a swot?
According to [UrbanDictionary](http://www.urbandictionary.com/define.php?term=swot) :blue_book:
> A word used by morons to insult a person of superior academic abilities.
or
> [verb] To Swot; Revision undertaken preceding an examination.
or
> [backronym] Stupid Waste of Time
### Pop Quiz Answers
Hopefully, you'll be surprised by some of this:
| Domain | Academic? | Comments |
|--------|-----------|----------|
|`stanford.edu`|:heavy_check_mark:|OK, this was an easy one so you could get at least *one* right|
|`america.edu`|:heavy_multiplication_x:| Prior to October 29th 2001, anyone could register a `.edu` domain name ([details](http://en.wikipedia.org/wiki/.edu#Grandfathered_uses)) |
|`duep.edu`|:heavy_check_mark:| Alfred Nobel University is a *Ukranian* University *in the Ukraine* i.e. not in the USA :us: |
|`gla.ac.uk`|:heavy_check_mark:|Glasgow University in Scotland|
|`unizar.es`|:heavy_check_mark:|The University of Zaragoza in Spain|
|`usask.ca`|:heavy_check_mark:|The University of Saskatchewan in Canada|
|`hil.no`|:heavy_check_mark:|Lillehammer University College in Norway|
|`unze.ba`|:heavy_check_mark:|University of Zenica in Bosnia and Herzegovina|
|`fu-berlin.de`|:heavy_check_mark:|Free University of Berlin in Germany|
|`ecla.de`|:heavy_check_mark:|ECLA of Bard is a state recognized liberal arts university in Berlin, Germany |
|`bvb.de`|:heavy_multiplication_x:|It's a soccer team from Germany|
|`lsmu.com`|:heavy_check_mark:| Lugansk State Medical University in the Ukraine |
If you verified this by visiting all of the websites, how long did it take you? Did you have fun? Imagine you had to do this 10 - 100 times every day. Now you know a little something about the inspiration for Swot. Swot can verify them all in a fraction of a second and remove a :poop: part of someone's job.
### See Also
* [gman](https://github.com/benbalter/gman) - like swot, but for government emails
* [swotphp](https://github.com/mdwheele/swotphp) - PHP port of Swot
#### Some universities have their names duplicated in the first and the second line in the respective .txt file in this repository. Shall I put the university name twice in my .txt file to have the domain added?
No, it's not needed. However, nothing bad happens if you do it, don't worry. It does not affect our decision on your request.

View File

@ -0,0 +1,6 @@
Daffodil International Academy

2
lib/domains/ac/diu.txt Normal file
View File

@ -0,0 +1,2 @@
DIU
Dhaka International University

2
lib/domains/ac/dpi.txt Normal file
View File

@ -0,0 +1,2 @@
Daffodil Polytechnic Institute
Bangladesh Skill Development Institute

View File

@ -1 +0,0 @@
University of Halifax, Birmingham Campus

View File

@ -0,0 +1,2 @@
www.gmit.ac.in
GM Institute of Technology a hi-tech & Top Engineering college in Davangere

1
lib/domains/ac/kcu.txt Normal file
View File

@ -0,0 +1 @@
SOONGSIL CYBER UNIVERSITY

View File

@ -1 +0,0 @@
Koya University (Kurdistan Region)

View File

@ -1 +0,0 @@
London College of Science &amp; Technology

View File

@ -1 +0,0 @@
Stratford College London

1
lib/domains/ac/yuhs.txt Normal file
View File

@ -0,0 +1 @@
Yonsei University Health System

View File

@ -0,0 +1 @@
GRETA Sud Aquitaine

View File

@ -0,0 +1 @@
Fondazione Istituto Tecnico Superiore per le Tecnologie dell’Informazione e della Comunicazione Steve Jobs

View File

@ -1 +0,0 @@
Etisalat University College

View File

@ -1 +0,0 @@
Ittihad University

1
lib/domains/ae/aust.txt Normal file
View File

@ -0,0 +1 @@
Ajman University of Science & Technology

View File

@ -0,0 +1 @@
Birla Institute of Technology, International Campus

1
lib/domains/ae/cuca.txt Normal file
View File

@ -0,0 +1 @@
City University College of Ajman

View File

@ -1 +0,0 @@
Academy of Sports and Physical Training

View File

@ -1 +0,0 @@
Academy of Arts

View File

@ -0,0 +1 @@
Faculty of Natural Sciences at University of Tirana

View File

@ -0,0 +1 @@
Fakulteti i Teknologjisë she Informacionit.

View File

@ -0,0 +1 @@
Catholic University "Our Lady of Good Counsel"

1
lib/domains/am/aspu.txt Normal file
View File

@ -0,0 +1 @@
Armenian State Pedagogical University

1
lib/domains/am/isec.txt Normal file
View File

@ -0,0 +1 @@
International Scientific-Educational Center of the National Academy of Sciences of Republic of Armenia (ISEC)

1
lib/domains/am/nuaca.txt Normal file
View File

@ -0,0 +1 @@
NATIONAL UNIVERSITY OF ARCHITECTURE AND CONSTRUCTION OF ARMENIA

View File

@ -0,0 +1 @@
National Polytechnic University of Armenia

View File

@ -0,0 +1 @@
Yerevan State University

View File

@ -0,0 +1 @@
Instituto Superior Politécnico de Tecnologias e Ciências

View File

@ -0,0 +1 @@
Instituto Superior Particular Incorporado Nº 4038

View File

@ -0,0 +1 @@
Instituto Superior Tecnológico Empresarial Argentino

View File

@ -0,0 +1 @@
Universidad CAECE, Mar del Plata

View File

@ -1 +0,0 @@
Universidad de Congreso

View File

@ -0,0 +1 @@
Universidad de La Punta

View File

@ -0,0 +1 @@
Universidad Nacional de Chilecito

View File

@ -0,0 +1 @@
Departamento de Ingenieria - Universidad Nacional de la Matanza

View File

@ -0,0 +1 @@
Facultad de Ciencias Exactas - Universidad Nacional de Salta

View File

@ -0,0 +1 @@
Facultad Regional Buenos Aires - Universidad Tecnológica Nacional

View File

@ -0,0 +1 @@
Facultad Regional Rosario - Universidad Tecnológica Nacional

View File

@ -0,0 +1,2 @@
Universidad Tecnológica Nacional - Facultad Regional Santa Fe
National Technological University - Santa Fe Regional Faculty

View File

@ -0,0 +1 @@
Facultad de Ingenieria de la Universidad de Buenos Aires

1
lib/domains/asia/ait.txt Normal file
View File

@ -0,0 +1 @@
Asian Institute of Technology, Thailand

1
lib/domains/asia/uap.txt Normal file
View File

@ -0,0 +1 @@
University of Asia and the Pacific

View File

@ -1 +0,0 @@
Alpen-Adria-Universität Klagenfurt

View File

@ -0,0 +1 @@
Ferdinand Porsche FernFH

View File

@ -0,0 +1 @@
HTBLuVA Salzburg

View File

@ -0,0 +1 @@
HTBLuVA Wiener Neustadt

View File

@ -0,0 +1 @@
HTL-Waidhofen at the Ybbs

1
lib/domains/at/ais.txt Normal file
View File

@ -0,0 +1 @@
American International School Vienna

View File

@ -0,0 +1 @@
Albertus Magnus Schule

View File

@ -0,0 +1 @@
BORG Kindberg

1
lib/domains/at/bulme.txt Normal file
View File

@ -0,0 +1 @@
HTL BULME

View File

@ -0,0 +1 @@
Gymnasium Dachsberg

View File

@ -0,0 +1 @@
Fachhochschule Kärnten

View File

@ -0,0 +1 @@
HBLA für Forstwirtschaft Bruck an der Mur

View File

@ -0,0 +1 @@
HAK Althofen

View File

@ -0,0 +1 @@
HAK Bregenz

View File

@ -0,0 +1 @@
HAK Spittal

View File

@ -0,0 +1 @@
BHAK/BHAS Zell am See

1
lib/domains/at/hlw10.txt Normal file
View File

@ -0,0 +1 @@
Höhere Bundeslehranstalt für wirtschaftliche Berufe

View File

@ -0,0 +1 @@
HTBLA Hallein

View File

@ -0,0 +1,2 @@
Höhere Technische Bundeslehranstalt Kaindorf
Federal Higher Technical Institute Kaindorf

View File

@ -0,0 +1 @@
HTL Mössingerstraße

View File

@ -0,0 +1 @@
HTL Neufelden

View File

@ -0,0 +1 @@
HTL Wels

View File

@ -0,0 +1 @@
HTL Dornbirn

View File

@ -0,0 +1 @@
HTL Krems

View File

@ -0,0 +1 @@
HTL Weiz

1
lib/domains/at/htlwy.txt Normal file
View File

@ -0,0 +1 @@
HTL-Waidhofen at the Ybbs

View File

@ -0,0 +1 @@
BG/BRG Lichtenfels Graz

View File

@ -1 +0,0 @@
Medizinische Universität Graz

View File

@ -0,0 +1 @@
Medical University of Graz

View File

@ -0,0 +1 @@
Konrad Lorenz Gymnasium

2
lib/domains/at/phst.txt Normal file
View File

@ -0,0 +1,2 @@
University College of Teacher Education Styria
Pädagogische Hochschule Steiermark

View File

@ -0,0 +1 @@
HBLFA Raumberg-Gumpenstein

1
lib/domains/at/tsn.txt Normal file
View File

@ -0,0 +1 @@
Schulen des Tiroler Schulnetzes https://www.dvt.at/services/tsn-tiroler-schulnetz/

1
lib/domains/at/ufg.txt Normal file
View File

@ -0,0 +1 @@
University of Art and Design Linz

View File

@ -0,0 +1 @@
Werkschulheim Felbertal

View File

@ -0,0 +1 @@
Wiedner Gymnasium (Sir-Karl-Popper-Schule)

View File

@ -0,0 +1 @@
Alkira Secondary College

View File

@ -0,0 +1 @@
The Academy of Interactive Entertainment

View File

@ -1 +0,0 @@
International College of Tourism and Hotel Management

View File

@ -0,0 +1 @@
Academy of Information Technology

View File

@ -0,0 +1 @@
Department of Education Tasmania

View File

@ -0,0 +1 @@
Department of Education Tasmania

View File

@ -0,0 +1,3 @@
University of Newcastle
example@uon.edu.au

View File

@ -0,0 +1 @@
NSW Education

View File

@ -0,0 +1 @@
Department of Education Tasmania

View File

@ -1 +0,0 @@
Australian Defence Force Academy

1
lib/domains/ax/ha.txt Normal file
View File

@ -0,0 +1 @@
Åland University of Applied Sciences

View File

@ -1 +0,0 @@
Azerbaijan International University

View File

@ -1 +0,0 @@
Azerbaijan State Economic University

View File

@ -1 +0,0 @@
Qafqaz University

Some files were not shown because too many files have changed in this diff Show More