Skip to content

cuongnv23/sanic-url-shortener

Repository files navigation

URL shortener

Another URL shoterner app.

This is an example of using Sanic with asyncpg - a fast PostgreSQL client lib for asyncio.

If you want to try, use docker-compose:

$ docker-compose build
$ docker-compose up

Screenshot of the app

Screenshot

Development

Each component of this app has its own Dockerfile:

  • PostgreSQL: sql/Dockerfile
  • Nginx: nginx.Dockerfile
  • App: app/Dockerfile

PostgreSQL

There is a dockerized PostgreSQL in sql, build your own PostgreSQL container:

$ cd sql
$ docker build -t postgres_local .
$ docker run --rm -it -v /tmp/pg:/var/lib/postgres/data -p 5432:5432 postgres_local

App

Only support Python 3 (tested on Python 3.6.4)

This app uses pipenv to manage virtualenv. Go to app and install dependencies, then you can start working with this:

$ cd app
$ pipenv install
$ pipenv shell # run app inside virtualenv

Run the app

$ POSTGRES_USER=url POSTGRES_PASSWORD=secret DEBUG=True python app.py

License

MIT