diff --git a/examples/miniapps/giphynav-aiohttp/README.rst b/examples/miniapps/giphynav-aiohttp/README.rst index e69de29b..595d079a 100644 --- a/examples/miniapps/giphynav-aiohttp/README.rst +++ b/examples/miniapps/giphynav-aiohttp/README.rst @@ -0,0 +1,117 @@ +Aiohttp Dependency Injection Example +==================================== + +Application ``giphynavigator`` is a `Aiohttp `_ + +`Dependency Injector `_ application. + +Run +--- + +Create virtual environment: + +.. code-block:: bash + + virtualenv venv + . venv/bin/activate + +Install requirements: + +.. code-block:: bash + + pip install -r requirements.txt + +To run the application do: + +.. code-block:: bash + + export GIPHY_API_KEY=wBJ2wZG7SRqfrU9nPgPiWvORmloDyuL0 + adev runserver giphynavigator/application.py --livereload + +The output should be something like: + +.. code-block:: + + [18:52:59] Starting aux server at http://localhost:8001 ◆ + [18:52:59] Starting dev server at http://localhost:8000 ● + +After that visit http://127.0.0.1:8000/ in your browser or use CLI command (``curl``, ``httpie``, +etc). You should see something like: + +.. code-block:: json + + { + "query": "Dependency Injector", + "limit": 10, + "gifs": [ + { + "url": "https://giphy.com/gifs/boxes-dependent-swbf2-6Eo7KzABxgJMY" + }, + { + "url": "https://giphy.com/gifs/depends-J56qCcOhk6hKE" + }, + { + "url": "https://giphy.com/gifs/web-series-ccstudios-bro-dependent-1lhU8KAVwmVVu" + }, + { + "url": "https://giphy.com/gifs/TheBoysTV-friends-friend-weneedeachother-XxR9qcIwcf5Jq404Sx" + }, + { + "url": "https://giphy.com/gifs/netflix-a-series-of-unfortunate-events-asoue-9rgeQXbwoK53pcxn7f" + }, + { + "url": "https://giphy.com/gifs/black-and-white-sad-skins-Hs4YzLs2zJuLu" + }, + { + "url": "https://giphy.com/gifs/always-there-for-you-i-am-here-PlayjhCco9jHBYrd9w" + }, + { + "url": "https://giphy.com/gifs/stream-famous-dollar-YT2dvOByEwXCdoYiA1" + }, + { + "url": "https://giphy.com/gifs/i-love-you-there-for-am-1BhGzgpZXYWwWMAGB1" + }, + { + "url": "https://giphy.com/gifs/life-like-twerk-9hlnWxjHqmH28" + } + ] + } + +.. note:: + + To create your own Giphy API key follow this + `guide `_. + +Test +---- + +This application comes with unit tests. + +To run the tests do: + +.. code-block:: bash + + py.test giphynavigator/tests.py --cov=giphynavigator + +The output should be something like: + +.. code-block:: + + platform darwin -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1 + plugins: cov-2.10.0, aiohttp-0.3.0, asyncio-0.14.0 + collected 3 items + + giphynavigator/tests.py ... [100%] + + ---------- coverage: platform darwin, python 3.8.3-final-0 ----------- + Name Stmts Miss Cover + --------------------------------------------------- + giphynavigator/__init__.py 0 0 100% + giphynavigator/__main__.py 5 5 0% + giphynavigator/application.py 10 0 100% + giphynavigator/containers.py 10 0 100% + giphynavigator/giphy.py 16 11 31% + giphynavigator/services.py 9 1 89% + giphynavigator/tests.py 35 0 100% + giphynavigator/views.py 7 0 100% + --------------------------------------------------- + TOTAL 92 17 82%