• This repository has been archived on 05/Jun/2020
  • Stars
    star
    1,114
  • Rank 40,767 (Top 0.9 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 12 years ago
  • Updated 26 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🏫 Identify email addresses or domains names that belong to colleges or universities. Help automate the process of approving or rejecting academic discounts.

Swot 🍎

Build Status Gem Version

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.

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.

Pop quiz: Which of the following domain names should be eligible for an academic discount? stanford.edu, america.edu, duep.edu, gla.ac.uk, unizar.es, usask.ca, hil.no, unze.ba, fu-berlin.de, ecla.de, bvb.de, lsmu.com. Answers at the foot of the page.

Installation

Swot is a Ruby gem, so you'll need a little Ruby-fu to get it working. Simply

gem install swot

Or add this to your Gemfile before doing a bundle install:

gem 'swot'

Requirements

  • Ruby >= 2.0

Usage

Verify Email Addresses

Swot::is_academic? '[email protected]'           # true
Swot::is_academic? '[email protected]'           # true
Swot::is_academic? '[email protected]'  # true
Swot::is_academic? '[email protected]'                   # true
Swot::is_academic? '[email protected]'                 # true
Swot::is_academic? '[email protected]'               # false

Verify Domain Names

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

Find School Names

Swot::school_name '[email protected]'
# => "University of Strathclyde"

Swot::school_name 'http://www.stanford.edu'
# => "Stanford University"

Contributing to Swot

Contributions welcome! Please see the contribution guidelines for details on how to add, update, or delete schools. Code contributions and ports to different languages welcome too.

Thanks to the following people for their contributions: @blutack, @captn3m0, @chrishunt, @johndbritton, @johnotander, @pborreli, @rcurtis, @vikhyat,.

Special thanks to @weppos for the public_suffix gem 🤘

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 [email protected] 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 or SlickDeals, 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 📘

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 ✔️ OK, this was an easy one so you could get at least one right
america.edu ✖️ Prior to October 29th 2001, anyone could register a .edu domain name (details)
duep.edu ✔️ Alfred Nobel University is a Ukranian University in the Ukraine i.e. not in the USA 🇺🇸
gla.ac.uk ✔️ Glasgow University in Scotland
unizar.es ✔️ The University of Zaragoza in Spain
usask.ca ✔️ The University of Saskatchewan in Canada
hil.no ✔️ Lillehammer University College in Norway
unze.ba ✔️ University of Zenica in Bosnia and Herzegovina
fu-berlin.de ✔️ Free University of Berlin in Germany
ecla.de ✔️ ECLA of Bard is a state recognized liberal arts university in Berlin, Germany
bvb.de ✖️ It's a soccer team from Germany
lsmu.com ✔️ 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 💩 part of someone's job.

See Also

More Repositories

1

games

🎮 A list of popular/awesome video games, add-ons, maps, etc. hosted on GitHub. Any genre. Any platform. Any engine.
21,411
star
2

emoji

📇 All of the emoji supported on GitHub pull requests, issues, comments, commit messages, markdown files, etc.
298
star
3

hubot-minecraft-skin

Hubot's very own Minecraft skin
168
star
4

github-high-scores

👾 8-bit, 80s-tastic aracdey GitHub contributions viewing environment.
JavaScript
123
star
5

Coil

HTML5 canvas game where you defeat enemies by wrapping enemies in your trail
JavaScript
42
star
6

static-site-heroku-cedar-example

🔨 Static Sites with Ruby on Heroku/Cedar
Ruby
34
star
7

list-of-english-cliches

A list of cliches commonly used in the English language
31
star
8

csi

😎 Look up NAICS (North American Industry Classification System) and SIC (Standard Industrial Classification) codes and how they correlate with one another
Ruby
31
star
9

classified-ipsum

⬛ Classified text? No problem! Sanitize it with ██████ ███ or redact it with [REDACTED]
Ruby
30
star
10

fortune-finder

💸 Look up Fortune 1000 companies and subsidiaries based on a domain name or email address to get their rankings
Ruby
26
star
11

octocat-classifier

Hold a sticker, photograph, drawing, or anything really up your camera and we'll tell you if it's an Octocat.
JavaScript
13
star
12

leereilly

13
star
13

octocoder

A web service for coderwall to look up the number of contributions a user has made to a particular repository
Ruby
11
star
14

PIXEL-DUEL

Ludum Dare 38 Entry
JavaScript
10
star
15

shaken

Translate your String to read like Sean Connery
Ruby
9
star
16

flappy-holman

Yet another Flappy Birds clone, but with more @holman + 🚀
JavaScript
8
star
17

hextriscores

Hextris High Scores
Ruby
8
star
18

hello-world-java

Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
Java
6
star
19

magic-tcg-decks

My Magic The Gathering Decklists
6
star
20

pokemon-tcg-decks

Tracking the evolution of my Pokémon TCG decks and the players I come up against 🐤
6
star
21

leereilly.net-v2

HTML
5
star
22

goat

Geo-targeted Organic Artisinal Tweets (GOAT) 🐐
Ruby
5
star
23

pipes-and-filters

Pipes and Filters Implementation in Ruby
4
star
24

mame-high-scores

My arcade cabinet's high score tracker
4
star
25

naics-codes

NAICS (North American Industry Classification System) codes
4
star
26

winamp

⚡ It really kicks the llamaa's ass
4
star
27

github-game-off-screenshots

All of the user-submitted screenshots from the 2019 GitHub Game Off
Shell
4
star
28

sic-codes

SIC (Standard Industrial Classification) codes
4
star
29

my-ruby-app

Ruby
3
star
30

man-cave-movie-poster-display

Pull movie high-res movie posters for the man cave display
Ruby
3
star
31

weekend-project

Something for the weekend
3
star
32

new-developer.github.com

Ruby
3
star
33

last-minute-christmas-chopping

by Markus "Notch" Persson
Dart
3
star
34

Space-Game

My first adventure into game design (Unity)
C#
3
star
35

game

Experiment with Git LFS and the Phaser framework
HTML
3
star
36

eXiSoundVis

UE4 Plugin that loads .ogg files at Runtime and analysis them to get the Frequency Spectrum and control gameplay stuff with that data.
C++
3
star
37

godot-github-gdc-graphic-wallpaper

Wallpaper versions of the illustration used for the Godot 4.0 Release Party at GitHub HQ on March 22, 2023.
3
star
38

scratchtocat

😺 a 404 page, meow
HTML
2
star
39

multibowl-config

2
star
40

ogre

Generate open graph images dynamically with user-specific content 🌐
Ruby
2
star
41

minecraft-maps

Minecraft maps 🌍
2
star
42

gc-import

2
star
43

gears-of-war-ultimate-edition-screenshot-comparison

Compare screenshots of Gears Of War: Ultimate Edition with legacy versions 😱
2
star
44

mx_record

Find MX records for a given domain name
Ruby
2
star
45

dotfiles

Ruby
2
star
46

wee-queries

Query sets for Google Cloud Platform's BigQuery 🔍
2
star
47

gtfooto

🚧 Out Of The Office Avatar App
Ruby
2
star
48

mish-lee-13k

Companion code for DEV.to article on building tiny games for JS13K with Kontra.js.
HTML
2
star
49

twitter-summary-card-test

HTML
2
star
50

minecraft-server

Ally's Minecraft Server ◻️ 🔨
2
star
51

leereilly.net-v1

Homepage for Lee Reilly
Ruby
2
star
52

first-roblox-game

Ally and I made our first Roblox game in Roblox Studio tonight 💣
2
star
53

help.github.com

GitHub help guides
JavaScript
2
star
54

bemobilewellness.github.io

Be Mobile Wellness Jekyll Website
CSS
2
star
55

aaand-action

1
star
56

wordpress-plugins

PHP
1
star
57

clojure-test

Clojure
1
star
58

monospace-rails

A sample subscription service using Stripe for payments
Ruby
1
star
59

github-api-igda-php

Notes for the IGDA / GGJ
PHP
1
star
60

Hinder

A puzzle game
CoffeeScript
1
star
61

seevl-ruby

Rails wrapper for seevl data
Ruby
1
star
62

forbes-finder

Look up Forbes 2000 companies based on a domain name or email address
Ruby
1
star
63

stanford-personal-page

The old contents of http://stanford.edu/~lreilly
JavaScript
1
star
64

darkskyweb

An example web interface for the Dark Sky API (http://developer.darkskyapp.com/).
JavaScript
1
star
65

risk-register-on-rails

this doesn't deserve a description yet, there are too many abandoned versions of this concept and i get easily distrac -oh, look, a pony!
Ruby
1
star
66

javascript-decrypting-title-animation

The <title> is decrypted from a DNA sequence/binary representation into it's orginal value
JavaScript
1
star
67

hammr

a simple Rails-based user authentication app that's built on top of Devise
Ruby
1
star
68

parker-manuscript-transformation

This is a one-time use script for transforming Parker XML configuration scripts used on parker.stanford.edu into N3 format
Ruby
1
star
69

LCARS-UI

Library Computer Access/Retrieval System
JavaScript
1
star