Giter Site home page Giter Site logo

kurz's Introduction

kurz โœ‚๏ธ

another url shortener

About

This project is mainly for research purposes. Feel free to use and change.

The idea behind this project is to create a fast reliable url shortener that offers access to customizable urls, simple analytics and notifications.

This project has been implemented in Go, because it is amazing, and I choosed Aerospike since it is an amazing Database with low latency.

Installation

Long but nothing missed.

Aerospike

To install the aerospike server follow these instructions. In order to have a good configuration, we need to change the instructions.

# Start aerospike if not done already
# - generate config files
$ sudo service aerospike start
# Open the configuration
$ vim /etc/aerospike/aerospike.conf
...
namespace kurz {
  memory-size 1G # In-memory size
  default-ttl 0  # Data will stay for ever
  storage-engine memory

  # Disk backup
  storage-device device {
    file /opt/aerospike/data/kurz.dat # Target file
    filesize 1G         # Backup file size
    data-in-memory true # In-memory and on disk
  }
}
# Close with :wq
# Restart aerospike
$ sudo service aerospike restart
# Create indexes for search
# Open aerospike client
$ aql
# Create email and id index
> CREATE INDEX email ON kurz.users (email) STRING
> CREATE INDEX id ON kurz.users (id) STRING
# Exit
> exit
$

kurz

# Clone the code
$ git clone https://oltdaniel/kurz
$ cd kurz
# Update makefile
$ vim Makefile
# Now change `HOME_DIR` to your home folder
# Then close with :wq
$ 
# Install dependencies
$ make util.install
# Generate API secret
$ make util.key
# Link kurz to go project folder
$ make link
# Add nginx configuration
$ make nginx
# Restart nginx
$ sudo service nginx restart

Run

# Start kurz server
$ make run

Documentation

Documentation can be found here in /doc.

Todo

Please view the todo list here in TODO.md.

License

Just do what you'd like to

license

Credit

Daniel Oltmanns - creator

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.