All tasks here are taken from https://dvmn.org - they are a very cool team.
1. Space game [step 1/2]
Simple space game with ASCII-graphics. Based on asyncio
and curses
module.
2. Space game [step 2/2]
Improved version of a simple space game with ASCII-graphics. It's time to add more action: asteroids, space garbage, and even a laser gun. You need to dodge the garbage until the year of 2020. After that you can shot and destroy garbage with your laser gun
3. Send me my photos
Micro-service that helps you to download photos. Creates zip archive on-the-fly and sends it to the client in StreamResponse
without saving archive to the server's hard drive. Uses aiohttp
and working with subprocesses from asyncio
4. Undeground chat
Console client for a simple TCP chat. Based on asyncio Streams. Sending and receiving data through tcp sockets.
5. Undeground chat with GUI
Improved version of the chat from #4. Now it has GUI interface for registration and using the chat. asyncio
, tkinter
for GUI. It also uses anyio
6. Tabloid article rate
Micro-service which downloads web pages analyzes the article's text and returns a rating based on a count of positive and negative words in the article. It uses pymorphy2 (morphological analyzer for the Russian language) and works with inosmi.ru. As you can see it also has error handling against wrong URLs and network problems. If Redis URI is specified then caching of results is enabled which helps to decrease the load on a target website.
7. Buses on a map
The application shows the movement of buses on a map of Moscow. It uses WebSockets to communicate with the frontend. The frontend provides its coordinates and receives information about buses in its area. There is also a special script fake_bus.py
which can emulate a bunch of different buses constantly changing location because we need to provide backend some data. Project uses click
, trio
, pydantic