Skip to main content

URL shortening service to be used in a microservices environment.

Project description

# tinyurls

URL shortening service to be used in a microservices environment.


## Installation
Use virtual environment
```bash
virtualenv env
source env/bin/activate

```
Change into tinyurls directory and install
```
cd tinyurls
python setup.py install

```

## Execute
```bash


```

## TODO


## Development

Use virtual environment
```bash
virtualenv env
source env/bin/activate

```

```bash
pip install -r requirements.txt
```

```bash

```

pip install -r requirements.txt
































## Dev Notes

I am most familiar with Django, however Django is heavy so I choose
Tornado for its speed. Honestly, since its a microservice and simple. Golang
is the way. Below are the features I am going to try to focus on.

I am building this service to work in a microservices architecture. See
http://microservices.io for details. However, I am not implementing *service
discovery*, *tracing* and a few other things. I am hoping to run this service
in a Kubernetes environment where I can take advantage of it's features
rather then build it into this service.



* Packaging: I would like to make this a package installable with `pip
install tinyurl`

* Docker: I would like to have this available as a docker image.

* Database: Initially I started using the Django ORM. However, I did not think
it was a good fit so I moved to SQLAlchemy. I am new to SQLAlchemy and have
only used it once about 5 years ago. I am not simply connecting to the
sqlite3 database with its connector because i want support for multiple
backend databases. Ideally I would update it to support an external
database such as PostgreSQL,

* Logging: Ideally, I would like to log to a Fluentd service.

* Instrumentation: I normally use Prometheus with Grafana for metrics and
alerting

* PEP8: Lets not forget to check for issues

* Tests: Lets try to make some tests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tinyurls-0.0.1-py3.6.egg (9.4 kB view details)

Uploaded Egg

File details

Details for the file tinyurls-0.0.1-py3.6.egg.

File metadata

  • Download URL: tinyurls-0.0.1-py3.6.egg
  • Upload date:
  • Size: 9.4 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.4

File hashes

Hashes for tinyurls-0.0.1-py3.6.egg
Algorithm Hash digest
SHA256 c526e12fcd941bcb89637e6cea350ced89482e347697e36a478486ea6135fddc
MD5 3a97651cfc74266277f427e7804aadfd
BLAKE2b-256 b99915b52884d807d392e14b0cc84b5272988b4d4b414f31f343cc55d25d8975

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page