diff --git a/README.md b/README.md
index 0af2d79..1ebdad8 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,165 @@
-# satire_pulp_parser
-Парсер с сайта сатирических новостей [Панорама](https://panorama.pub/ "Перейти")
-
-
-
-
-
-
+
+
+## Satire Pulp Parser
+
+    
+
+
+- [Описание](#Описание)
+- [Технологии](#Технологии)
+- [Тестирование](#Тестирование)
+- [Шаблон заполнения .env-файла](#Шаблон)
+- [Запуск проекта](#Запуск)
+- [Автор](#Автор)
+
+
+
+### Описание
+
+Проект представляет собой парсер сатирических новостей с сайта [Панорама](https://panorama.pub/ "Перейти") и Telegram-бот для автоматической рассылки новых публикаций пользователям.
+
+**Возможности:**
+
+```md
+ - Парсинг новостей с сайта panorama.pub
+ - Сохранение новостей в PostgreSQL
+ - Автоматическая рассылка новых новостей через Telegram-бот
+ - Планировщик запуска парсера каждые 20 минут
+ - Асинхронная работа бота с данными
+```
+
+Парсер написан с использованием **Scrapy**, **SQLAlchemy**, **PostgreSQL** и **Python Telegram Bot**
+
+В проекте настроен **CI pipeline** с использованием **GitHub Actions**:
+
+```md
+ - Автоматическая проверка кода (black, isort, flake8)
+ - Запуск unit-тестов (`pytest`)
+ - Сборка Docker-образа
+ - Публикация образа в **Docker Hub** при пуше в соответствующие ветки
+```
+
+```md
+Проект адаптирован для использования **PostgreSQL** и развёртывания в контейнерах **Docker**.
+```
+
+> [Вернуться в начало](#Начало)
+
+
+
+### Технологии
+
+[](https://www.python.org)
+[](https://docs.scrapy.org/en/latest/index.html)
+[](https://docs.python-telegram-bot.org/en/stable/index.html)
+[](https://www.postgresql.org)
+[](https://www.sqlalchemy.org)
+[](https://www.docker.com)
+[](https://docs.pytest.org/en/stable/index.htmlc)
+[](https://github.com/features/actions)
+
+> [Вернуться в начало](#Начало)
+
+
+
+### Тестирование
+
+В проекте реализованы **unit-тесты** с использованием `pytest`.
+
+Запуск тестов локально:
+
+```python
+pytest -v
+```
+
+> [Вернуться в начало](#Начало)
+
+
+
+### Шаблон заполнения .env-файла
+
+> `env.example` с дефолтными значениями расположен в корневой папке
+
+```python
+TELEGRAM_TOKEN=1234567890:Telegram-Token # Токен Telegram бота
+DATABASE_URL_SYNC = postgresql+psycopg2://postgres:postgres@db:5432/satire_pulp_db # Указываем адрес БД (Синхронная версия)
+DATABASE_URL_ASYNC=postgresql+asyncpg://postgres:postgres@db:5432/satire_pulp_db # Указываем адрес БД (Асинхронная версия)
+POSTGRES_DB = satire_pulp_db # Имя базы дданных
+POSTGRES_USER = postgres # Имя юзера PostgreSQL
+POSTGRES_PASSWORD = yourpassword # Пароль юзера PostgreSQL
+POSTGRES_HOST=db # Имя сервиса PostgreSQL в docker-compose
+POSTGRES_PORT=5432 # Порт PostgreSQL внутри контейнера
+```
+
+> [Вернуться в начало](#Начало)
+
+
+
+### Запуск проекта
+
+- Склонируйте репозиторий
+
+```python
+git clone git@github.com:dmsnback/satire_pulp_parser.git
+```
+
+- Установите и активируйте виртуальное окружение
+
+```python
+python3 -m venv venv
+```
+
+Для `Windows`
+
+```python
+source venv/Scripts/activate
+```
+
+Для `Mac/Linux`
+
+```python
+source venv/bin/activate
+```
+
+- Установите зависимости из файла
+`requirements.txt`
+
+```python
+python3 -m pip install --upgrade pip
+```
+
+```python
+pip install -r requirements.txt
+```
+
+- Запускаем Docker контейнеры (db, bot)
+
+```python
+docker-compose up -d db bot
+```
+
+- Создаём таблицы в БД
+
+```python
+docker-compose exec bot python -m db.init_db
+```
+
+- Перезапускаем Docker контейнеры
+
+```python
+docker-compose up -d
+```
+
+- После запуска запустите бота командой ```/start```
+
+> Команда ```/show_news``` пришлёт последние 10 новостей из базы, если они ещё не были отправлены, далее бот будет присылать только новые новости, которые появятся на сайте.
+
+> [Вернуться в начало](#Начало)
+
+
+
+### Автор
+
+- [Титенков Дмитрий](https://github.com/dmsnback)
+
+> [Вернуться в начало](#Начало)
diff --git a/env.example b/env.example
new file mode 100644
index 0000000..b26e7c3
--- /dev/null
+++ b/env.example
@@ -0,0 +1,8 @@
+TELEGRAM_TOKEN=1234567890:Telegram-Token
+DATABASE_URL_SYNC=postgresql+psycopg2://postgres:postgres@db:5432/satire_pulp_db
+DATABASE_URL_ASYNC=postgresql+asyncpg://postgres:postgres@db:5432/satire_pulp_db
+POSTGRES_DB=satire_pulp_db
+POSTGRES_USER=postgres
+POSTGRES_PASSWORD=postgres
+POSTGRES_HOST=db
+POSTGRES_PORT=5432
\ No newline at end of file