GlowSquid / Flask-URL-Shortener

A lightweight, yet neat tool for shortening URLs, and keeping track of their redirects.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flask URL-Shortener

Live Demo (on a not-so-short URL)

Features

  • Shortens URLs to a default 3-digit prefix using a random character and letter combination.
  • Checks if the shortened URL already exists and attempt to re-run the code-generator until it finds an available combination.
  • All data is stored in a single MySQL table.
  • Case-sensitive. The database distinguishes between upper- and lower-case characters.
  • A Stats page lists all the shortened URLs, and shows how many times a target link has been redirected.
  • There is a button to automatically copy the shortened URL to clipboard.
  • Has an option to use Recaptcha to prevent spambots.

Screenshot

Setup

  • Create a virtualenv
  • Install the requirements pip install -r requirements.txt
  • Update settings.py with your own MySQL credentials
  • Create the database in MySQL CREATE DATABASE shortener;
  • Run python create_db.py to setup the table
  • Lastly, alter the MySQL table to allow case-sensitive characters:

ALTER TABLE url CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;

Run the app with python main.py

About

A lightweight, yet neat tool for shortening URLs, and keeping track of their redirects.

License:GNU General Public License v3.0


Languages

Language:HTML 35.9%Language:Python 35.3%Language:CSS 25.4%Language:JavaScript 3.5%