Skip to content

Web app for shortening links. Backend is written in Flask (Python framework).

License

Notifications You must be signed in to change notification settings

jedrzejme/ShortenThis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

604e4e3 Β· Sep 8, 2024

History

50 Commits
Sep 8, 2024
Aug 29, 2024
Sep 1, 2024
Sep 5, 2024
Aug 31, 2024
Sep 8, 2024
Aug 28, 2024
Sep 8, 2024
Sep 5, 2024
Sep 8, 2024
Sep 8, 2024
Sep 8, 2024
Aug 28, 2024

Repository files navigation

Icon
Shorten This


❓ What is this? Web app for shortening links. Backend is written in Flask (Python framework).

❓ How to use it?

❓ What did I use?

🐳 Using docker-compose to run Shorten That

  1. Install Docker and docker-compose
  2. Create file called docker-compose.yml and paste this inside:
services:
    shorten-this:
        container_name: shorten-this
        ports:
            - 5000:5000 # <Host Port>:<Container Port (do not change)>
        image: jedrzejme/shorten-this:latest
        volumes:
            - database.db:/app/database.db
        restart: unless-stopped
  1. Optionally edit port in docker-compose.yml
  2. Create empty file called database.db in the same directory as docker-compose.yml
  3. Run docker-compose (by default it will run on port 5000):
docker-compose up -d
  1. It works!

🐍 Using Python to run Shorten That

  1. Install Python
  2. Clone this repository and enter its directory:
git clone https://github.com/jedrzejme/ShortenThis.git
  1. Install requirements.txt:
python -m pip install -r requirements.txt
  1. Optionally edit port in app.py (port is defined at the bottom of script)
  2. Create empty file called database.db in the same directory as this repository
  3. Run app.py (by default it will run on port 5000):
python app.py
  1. It works!

πŸš€ Features

  • Setup screen on first run
  • Authentication by password (not available in version hosted by me)
  • Settings screen (not available in version hosted by me)
  • Users screen (not available in version hosted by me)
  • Shortening URL with custom short URL (if not provided, short URL will be set to random string of length provided in setup)
  • Stats of shortened URL
  • Option to delete link in control panel
  • Usage of sqlite3 to manage data about links and app

πŸ’² Support

jedrzejme