python3 flask based python-url-shortener microservice.

Overview

python-url-shortener

This repository is for managing all public/private entity specific api endpoints for an organisation. In this case we have entity as URL shortener

Project Structure

The basic project structure is as follows:

root/
 |-- app
 |   |-- controllers/
 |   |   |-- __init__.py
 |   |   |-- url_shortener_controller.py
 |   |-- services/
 |   |   |-- __init__.py
 |   |   |-- url_shortener_service.py
 |   |-- schemas/
 |   |   |-- __init__.py
 |   |   |-- url_shortener_schema.py
 |   |-- utilities/
 |   |   |-- __init__.py
 |   |   |-- url_shortener_utility.py
 |   |-- tests/
 |   |   |-- __init__.py
 |   |   |-- test_url_shortener_controller.py
 |   |   |-- test_url_shortener_utility.py
 |   |-- config.py
 |   |-- errors.py
 |   |-- routes.py
 |   |-- __init__.py
 |   build.sh
 |   logging.yaml
 |   setup.py
 |   README.md

Synopsis

There are two API endpoints exposed as part of this app
1. /url/encode
2. /url/decode

/url/encode:  Will shorten a valid URL and returns a shorten URL(JSON) also 
put origianl, shorten url in cache(We are using flask_caching for storage).

/url/decode:  Will return a valid URL original URL(JSON) for a given shorten 
url from cache(We are using flask_caching for storage).

For request/response structure please reffer 
Swagger URl after successful buld & run step.

Requirements

python 3.9
Flask 2.0.2
marshmallow 3.12.2
flask_caching
Werkzeug 2.0.2

for detiled requirement please reffer setup.py

Quick Start Setup

Run Setup.

This will create virtualenv and install all required packages and will allow you to run the app from anywhere on your machine.

$> cd the-shortest-url-1-uvpyns
$> ./build.sh

Run the tests

$> cd the-shortest-url-1-uvpyns
$> pytest

Running Locally

API can be executed as follows:

$> cd the-shortest-url-1-uvpyns
$> python api_gateway.py

Navigate to the posted URL in your terminal to be greeted with Swagger, where you can run the API endpoints.

Owner
Asutosh Parida
Love to work on Data.
Asutosh Parida
🔗 FusiShort is a URL shortener built with Python, Redis, Docker and Kubernetes

This is a playground application created with goal of applying full cycle software development using popular technologies like Python, Redis, Docker and Kubernetes.

Lucas Fusinato Zanis 7 Nov 10, 2022
A python code for url redirect check

A python code for url redirect check

Fayas Noushad 1 Oct 24, 2021
Extract countries, regions and cities from a URL or text

This project is no longer being maintained and has been archived. Please check the Forks list for newer versions. Forks We are aware of two 3rd party

Ushahidi 216 Nov 18, 2022
python3 flask based python-url-shortener microservice.

python-url-shortener This repository is for managing all public/private entity specific api endpoints for an organisation. In this case we have entity

Asutosh Parida 1 Oct 18, 2021
This is a no-bullshit file hosting and URL shortening service that also runs 0x0.st. Use with uWSGI.

This is a no-bullshit file hosting and URL shortening service that also runs 0x0.st. Use with uWSGI.

mia 1.6k Dec 31, 2022
URL Shortener in Flask - Web service using Flask framework for Shortener URLs

URL Shortener in Flask Web service using Flask framework for Shortener URLs Install Create Virtual env $ python3 -m venv env Install requirements.txt

Rafnix Guzman 1 Sep 21, 2021
Python implementation for generating Tiny URL- and bit.ly-like URLs.

Short URL Generator Python implementation for generating Tiny URL- and bit.ly-like URLs. A bit-shuffling approach is used to avoid generating consecut

Alireza Savand 170 Dec 28, 2022
C++ library for urlencode.

liburlencode C library for urlencode.

Khaidi Chu 6 Oct 31, 2022
coURLan: Clean, filter, normalize, and sample URLs

coURLan: Clean, filter, normalize, and sample URLs Why coURLan? “Given that the bandwidth for conducting crawls is neither infinite nor free, it is be

Adrien Barbaresi 20 Dec 14, 2022
Qysqa - URL shortener website with python

Qysqa - shorten your URL. ~ A simple URL-shortening website. how do you pronounc

Dastan Ozgeldi 0 Nov 18, 2022
encurtador de links feito com python

curt-link encurtador de links feito com python! instalação Linux: $ git clone https://github.com/bydeathlxncer/curt-link $ cd curt-link $ python3 url.

bydeathlxncer 5 Dec 29, 2021
A teeny Tiny module to check URLs against discord's list of phishing domains

A teeny Tiny module to check URLs against discord's list of phishing domains

kaj 1 Aug 29, 2022
a little project to make custom discord invites over a url

custom-dc-invite a little project to make custom discord invites over a url how it works you create a account for

baum1810 2 Oct 03, 2022
Use this module to detect if a URL is on discord's phishing list.

PhishDetector This module was made so you can check a URL and see if it's in discord's official list of phishing and suspicious URLs. Installation pip

Elijah 4 Mar 25, 2022
Shorten-Link - Make shorten URL with Cuttly API

Shorten-Link This Script make shorten URL with custom slashtag The script take f

Ahmed Hossam 3 Feb 13, 2022
declutters url lists for crawling/pentesting

uro Using a URL list for security testing can be painful as there are a lot of URLs that have uninteresting/duplicate content; uro aims to solve that.

Somdev Sangwan 677 Jan 07, 2023
🔗 Generate Phishing URLs 🔗

URLer 🔗 Generate Phishing URLs 🔗 URLer Table Of Contents General Information Preview Installation Disclaimer Credits Social Media Bug Report General

mrblackx 5 Feb 08, 2022
Temporary-shortner - A webapp that shortner URLs but for limited time

temporary-shortner A webapp that shortens URLs but for a limited time Demo site

Vitor 2 Jan 07, 2022
a url shortener project from semicolonworld

Url Shortener With Django Written by Semicolon World

3 Aug 24, 2021
Simple python library to deal with URI Templates.

uritemplate Documentation -- GitHub -- Travis-CI Simple python library to deal with URI Templates. The API looks like from uritemplate import URITempl

Hyper 210 Dec 19, 2022