Прототип сервиса разработан в рамках хакатона Северо-Западного IT-хаба по кейсу Почты России
Сервис предоставляет возможность проверить и нормализовать адресные базы данных пользователей в виде файлов csv или xlsx
- регистрация пользователя
- авторизация пользователя
- загрузка файлов пользователем и их автоматическая обработка
- отслеживание прогресса обработки файлов
- просмотр результатов обработки и построчное редактирование адресной базы
- выгрузка файлов в форматах csv и xlsx
- статистика по работе сервиса
Демо сервиса доступно по адресу: http://restlin.keenetic.link:10080
Реквизиты тестового пользователя: email: [email protected], пароль: testuser
Любой человек может войти в систему под тестовым пользователем [email protected] с паролем testuser на странице авторизации.
Если тестовый пользователь не вариант, то можно зарегистрировать собственную учетную запись на странице регистрации. и подтвердить ее email.
После входа пользователя на сервис он попадает на страницу работы с файлами, где он может загрузить свой файл, видит уже загруженные файлы и их прогресс обработки.
Пользователь может нажать на имя файла и войти в конкретную информацию о каждом файле, где видно как обработана каждая строка, а также есть возможность выгрузить файл в форматах csv или xlsx.
Также любой пользователь может просмотреть статистику работы сервиса, где выводится количество пользователей, обработанных файлов, строк файлов и средняя скорость работы сервиса. Чтобы ее увидеть пользователь должен нажать на ссылка статистика на верхней панели сайта.
- развертывание сервиса производится на debian-like linux;
- требуется установленный web-сервер с поддержкой PHP(версия 7.4+) интерпретации (apache, nginx);
- требуется установленная СУБД PostgreSQL(версия 12+);
- требуется установленный пакет xlsx2csv для работы с файлами xlsx;
Выполните
sudo apt-get install xlsx2csv
Необходимо создать пустую базу данных PostgreSQL, а подключение к базе прописать в конфигурационный файл сервиса по адресу: папка_сервиса/config/db.php
Для заполнения базы данных системной информацией выполните в корневой папке сервиса:
./yii migrate
и согласитесь с запросом
Для запуска очередей обработки выполните в корневой папке сервиса:
./yii queue/listen &
столько раз, сколько демонов обработки вы хотите
Настройте ваш веб-сервер так, чтобы папка_сервиса/web была доступна через веб-сервер.
Или можно запустить тестовый стенд командой:
./yii serve/index
Установка зависимостей осуществляется с помощью Composer. Если у вас его нет вы можете установить его по инструкции на getcomposer.org.
После этого выполнить команду в директории проекта:
composer install