This is a simple URL shortener
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Néfix Estrada 6979f32b35 Merge branch 'release/v1.0.1' 7 kuukautta sitten
cmd/urlshortener Added log write support 7 kuukautta sitten
pkg Updated Makefile and improved the DB package 7 kuukautta sitten
.gitignore Initial commit 7 kuukautta sitten
Dockerfile Updated the Dockerfile 7 kuukautta sitten
LICENSE Initial commit 7 kuukautta sitten
Makefile Increased the deadline dramatically 7 kuukautta sitten
README.md Added a recomendation 7 kuukautta sitten

README.md

URL Shortener

This is a simple URL shortener. You can visit it live at https://short.nefixestrada.com

Tech stack

The program is written in Go. For database, it’s using bbolt, a fork of bolt. Also using govalidator for validating the URL’s and go.rice for embedding the static html files into the binary.

How to run

In order to run URL Shortener, you have two options:

Inside a Docker [recommended]

You can easily run URL Shortener inside a Docker container. It’s the recommended choice. You just need to download it from Docker Hub:

sudo docker pull nefix/urlshortener:1
sudo docker run -p 3000:3000 nefix/urlshortener

As a standalone binary

You also can run it as a standalone binary. You need to execute the following commands:

git clone https://gitea.nefixestrada.com/nefix/urlshortener
cd urlshortener
make

This is going to generate a binary named urlshortener

Examples

Docker Compose

version: '3.2'
services:
  urlshortener_server:
    volumes:
      - type: volume
        source: urlshortener_data
        target: /data
        read_only: false
    ports:
      - target: 3000
        published: 8080
        protocol: tcp
        mode: host
    restart: always
    image: nefix/urlshortener:1

volumes:
  urlshortener_data:

FAQ

  • Why it doesn’t have support for HTTPS?
    • You are supposed to run it behind a proxy. If you have no idea what it is, you can check here for more inforrmation.
  • For any other question, you can contact me at nefixestrada@gmail.com