An open API service indexing awesome lists of open source software.

https://github.com/sadimer/socialcode


https://github.com/sadimer/socialcode

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# Socialcode

Socialcode - программа, предоставляющая возможность обработки расчетных выписок с пожертвованиями в [Фонд борьбы с лейкемией](https://leikozu.net). В качестве результата работы программы в фонд отправляетс информация об отправителе денежных средств, сумма пожертвований, дата транзакции, кому предназначена денежная сумма.

### Старт

```bash
git clone https://github.com/sadimer/socialcode.git
```

```bash
cd ./socialcode
```

1. Запуск в Docker-контейнере:

Требование: установленный Docker;

- Сборка Docker-образа:

```bash
docker build -t {{ наименование Docker-образа }} .
```

- Запуск Docker-контейнера:

```bash
docker run -d --name {{ наименование Docker-контейнера }} -v {{ директория на локальном узле с данными }}:{{ директория в Docker-контейнере с данными }} -e PATH_DIR={{директория с данными внутри Docker-контейнера}} -p 8000:8000 {{ наименование Docker-образа }}
```

2. Запуск в стандартном режиме:

```bash
uvicorn main:app --host 0.0.0.0
```

### Добавление данных для обработки

Загрузка данных для обработки (директории с файлами формата .txt) могут передаваться двумя способами:

1. Загрузка данных через переменную окружения PATH_DIR. Здесь в формате строки, через запятую необходимо указать пути до обрабатываемых директорий. Пример:

```bash
"/Users/tanya/Desktop/hack_heart/test_dir/dir_2,/Users/tanya/Desktop/hack_heart/test_dir/dir_1"
```

2. Во втором случае данные можно передать при помощи REST API-запроса. Для этого необходимо:
- В .env файле указать путь до директории - переменная окружения TMP_DIR.
- Запустить приложение
- Перейти http://{{ адрес хоста, где запущено приложение }}:8000/docs
- Выбрать POST-запрос и загрузить туда файл с данными

Также для этого можно использовать curl:

```bash
curl -X 'POST' \
'http://127.0.0.1:8000/upload_payment' \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@data.json;type=application/json'
```

### Запуск крон-джобы в битрикс24

1. Добавить импорт нашего модуля в файл local/php_interface/init.php;
```php
require_once __DIR__ . '/include/hack.php';
```

2. Создать файл local/php_interface/include/hack.php, скопировав содержимое agent/agent.php. Предварительно необходимо указать в переменной $url адрес файлового сервера, на котором запущен FastAPI-сервер парсера из этого репозитория;
3. В поиске админ панели битрикс найти "Агенты";

4. Нажать на кнопку;

![Кнопка](images/Screen%20Capture_select-area_20240519113114.png)

5. Заполнить форму создания агента.

![Агент](images/Screen%20Capture_select-area_20240519113828.png)