Giter Club home page Giter Club logo

go-shorti's Introduction

#Go-Shorti Go-Shorti allow you to run Your Own URL Shortener, on your server.

QUICK START

Features:

  • build link
    • unique link per user if duplicated link
    • can use api with similar_to option to create short link based on what you want

{ "url": "https://google.com", "similar_to": "google" }

  • analytics
    • daily, monthly, weekly
    • uniq, overall

Technologies:

  • golang
  • redis
    • redirection
    • save user verify code
  • postgres
    • store all hits
    • user info
  • rabbitmq
    • send email in a queue (microservice style)

Start:

  • manually

    • create postgres database
    • change the conf file to run locally
    • run the email microservice in port 8084
    • run code
  • docker

    • dockerfile to build image (need prod.yml in config folder)
    • change microservice conf then build

TODO

  • fully dockerize (soon)
  • null response in analytics if there is no hit
  • implement store in the better way, maybe it is the best :))

Implementable approaches to improvement:

  • have cron job to delete all the last day hits and store them in single row in database

go-shorti's People

Contributors

fuzsh avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

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.