Нет описания

Frederic G. MARAND ea64784e28 Make alias generation actually work for base strategy. 10 лет назад
data ea64784e28 Make alias generation actually work for base strategy. 10 лет назад
doc ecf5044df5 Working alias generation, inserts into DB, some integration tests. 10 лет назад
storage ea64784e28 Make alias generation actually work for base strategy. 10 лет назад
strategy ea64784e28 Make alias generation actually work for base strategy. 10 лет назад
url ea64784e28 Make alias generation actually work for base strategy. 10 лет назад
web 6484db1121 Some structural and commenting cleanup. 10 лет назад
.gitignore ecf5044df5 Working alias generation, inserts into DB, some integration tests. 10 лет назад
LICENSE.txt 5ba5ac0c61 First commit: README, GPLv3 license, .gitignore. 10 лет назад
README.md ecf5044df5 Working alias generation, inserts into DB, some integration tests. 10 лет назад
kurz.go 6484db1121 Some structural and commenting cleanup. 10 лет назад

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