No Description

Frederic G. MARAND a142e6531a Added a CLI command hierarchy using spf13/cobra. Storage WIP. 10 years ago
command a142e6531a Added a CLI command hierarchy using spf13/cobra. Storage WIP. 10 years ago
data d42e1996ff WIP on eventinfo, with generic setUp()/tearDown() methods for DB. 10 years ago
doc a142e6531a Added a CLI command hierarchy using spf13/cobra. Storage WIP. 10 years ago
storage a142e6531a Added a CLI command hierarchy using spf13/cobra. Storage WIP. 10 years ago
strategy ea64784e28 Make alias generation actually work for base strategy. 10 years ago
url ea64784e28 Make alias generation actually work for base strategy. 10 years ago
web 6484db1121 Some structural and commenting cleanup. 10 years ago
.gitignore d42e1996ff WIP on eventinfo, with generic setUp()/tearDown() methods for DB. 10 years ago
LICENSE.txt 5ba5ac0c61 First commit: README, GPLv3 license, .gitignore. 10 years ago
Makefile d42e1996ff WIP on eventinfo, with generic setUp()/tearDown() methods for DB. 10 years ago
README.md ecf5044df5 Working alias generation, inserts into DB, some integration tests. 10 years ago
default.kurz.js a142e6531a Added a CLI command hierarchy using spf13/cobra. Storage WIP. 10 years ago
kurz.go a142e6531a Added a CLI command hierarchy using spf13/cobra. Storage WIP. 10 years ago

README.md

 #    #  #    #  #####   ######
 #   #   #    #  #    #      #
 ####    #    #  #    #     #
 #  #    #    #  #####     #
 #   #   #    #  #   #    #
 #    #   ####   #    #  ######

Kurz is yet another URL shortener/aliaser.

  • built as a Go data model API, for internal site use as well as public use
  • web front end separate from data logic
  • multiple aliasing strategies. provided:
    • identity
    • 32-bits hexa string, leading 0s omitted
    • manual selection
    • easy to extend, by registering additional AliasStrategy objects
  • supporting
    • vanity domains
    • relative paths (API only, no Web UI), for use within web sites
    • "slug"-type multipart aliasing for SEO
  • usage statistics
  • some tests available

It is currently available under the General Public License version 3 or later.

Using Kurz

The main Kurz command show how to initialize the package and access statistics.

You can find usage examples in strategy_test.go:

  • TestBaseAlias() shows how to generate aliases
  • TestUseCounts() show how to query strategy statistics

Running tests

Currently, only the strategy package has tests, and these need some setup, as they touch the database:

  • either redefine the credentials in strategy_test.go#initTestStorage()
  • or create a database with privileges appropriate for them
  • or send a PR submitting a better DB initialization mechanism for tests