Skip to content

danielhaaser/hipster-domain-finder

Repository files navigation

Hipster Domains

screenshot

What

Find short & sweet single word domain hacks with Hipster Domains at Hipster.Domains. All domains listed should be available for registration. Originally created by Bram Hoskin, now (somewhat) maintained by Daniel Haaser.

Development

General

Requirements for Hipster Domains are Python 3 and MongoDB. Environment management is handled with virtualenv.

Installation

  1. Install Python 3. This can be done with Homebrew on OSX or apt-get on Ubuntu.
  2. Install pip3. This is the Python 3 version of the Python package manager. You can use Homebrew on OSX or apt-get on Ubuntu.
  3. Install virtualenv with pip3 install virtualenv.
  4. Create a virtual environment within the project directory. Navigate to the project directory, and execute virtualenv -p python3 venv. This will create a virtual environment named venv, configured to use Python 3.
  5. Activate the virtual environment by running source venv/bin/activate.
  6. Install the project dependencies with pip install -r requirements.txt.
  7. Install MongoDB and activate it with mongod.

Hipster Domains is ready to be used locally. Just run populate_db.py to populate the database with 100 domain hacks. Note this is for testing purposes only and the domains will be marked as available without any verification. In production use update.py as described below.

Domains

update.py calculates all possible domain hacks from words in words.txt and inserts/updates their availability with Domainr's API (API key must be set in environment.ini). update.py uses schedule to check domain availability every 24 hours.

words.txt is supposedly the 50,000 most common english words on the internet, though I can't remember where I got it. Adding or changing words is as simple as changing words.txt.

Website

Hipster Domains' official website is intentionally very simple inside and out. website.py handles routing and serving dynamic/static content. HTML is in views and CSS is in static.