Skip to content
Snippets Groups Projects
README.md 2.01 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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.
    
    Jonas Leder's avatar
    Jonas Leder committed
    #### Features
    * 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
    
    Jonas Leder's avatar
    Jonas Leder committed
    * can run in offline enviorements, because no online files needed (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
    * small and modern UI
    * posibility to use multiple domains
    * open source --> posibility to expand
    
    Jonas Leder's avatar
    Jonas Leder committed
    * very small and leightweight (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)