Skip to content
Snippets Groups Projects
README.md 2.12 KiB
Newer Older
  • Learn to ignore specific revisions
  • ### For Instructions, please checkout the [wiki](https://gitlab.jonasled.de/jonasled/url_shorter_docker/-/wikis/home)
    
    ## About
    
    This is a URL shorter written in Python with Flask als Webhandler. The Webserver I used is Waitress and for the Database I used sqlite, because it's compact and works in this enviorement also with big databases (>2million entries) very quick. I started develloping this URL schorter, because google stopped their own and I can't find a very good one. Every shorter at the time on the market was boring or needed an account. For the first Version I used PHP, but the problem was, I packed everything in one very big file which was very hard to understand. At the time I wanted to use more than one domain I realized it is very hard to implement this, so I started searching for a better solution. The i found Flask, ehich is perfect, because you can split the Website code and the backend into multiple Files. So have fun to use this and contribute to it.
    
    ## Features
    
    Jonas Leder's avatar
    Jonas Leder committed
    * Custom Links (user can select the short link himself)
    * multiple domains
    * protected with recaptcha
    * automatic darkmode
    * account system based on google and github oauth (user can view and delete his links)
    * qr code generation after link is shorten
    
    Jonas Leder's avatar
    Jonas Leder committed
    * easy deployment
    
    * can run in offline enviorements (behind a firewall)
    
    Jonas Leder's avatar
    Jonas Leder committed
    
    
    ## Why is this one better than other
    
    * no ADs
    * free to use
    * custom urls
    * easy user management
    
    Jonas Leder's avatar
    Jonas Leder committed
    * modern UI
    
    Jonas Leder's avatar
    Jonas Leder committed
    * very lightweight UI (main page ~34kb)
    
    * posibility to use multiple domains
    * open source --> posibility to expand
    
    Jonas Leder's avatar
    Jonas Leder committed
    * very small and lightweight (at the moment the sourcecode is about 2mb)
    
    Jonas Leder's avatar
    Jonas Leder committed
    * can be used in offline enviorements, because no online files needed (behind a firewall)
    
    Jonas Leder's avatar
    Jonas Leder committed
    [![pipeline status](http://gitlab.jonasled.de/jonasled/url_shorter_docker/badges/master/pipeline.svg)](http://gitlab.jonasled.de/jonasled/url_shorter_docker/commits/master)
    
    Jonas Leder's avatar
    Jonas Leder committed
    ![screenshot of url shorter](https://gitlab.jonasled.de/jonasled/url_shorter_docker/raw/master/Screenshot.png)
    ![Screenshot of url shorter dark mode](https://gitlab.jonasled.de/jonasled/url_shorter_docker/raw/master/Screenshot_dark.jpg)