Dpos.space: Проект с несколькими сервисами для VIZ и других блокчейнов. Часть 3
Здравствуйте. Продолжаю описывать сервис https://dpos.space.
Ему уже наверное месяцев 6, и только сейчас был открыт код. Репозиторий - https://github.com/denis-skripnik/dpos.space
В прошлой части описывал используемые технологии и библиотеки, названные мной характеристиками, а также начал рассказывать о структуре папок и файлов и содержимом в них. В этой продолжу рассказывать о структуре.
Структура:
В корне dpos.space:
Помимо сервисов там есть следующие папки и файлы:
- .htaccess - файл, где настроен основной файл index.html или index.php, установлена дифолтной кадировкой UTF-8, установлена возможность перехода в режим разработки.
- _maintenance.enable - убрав первый символ в этом файле, включить можно режим обслуживания (разработки). В файле maintenance.html содержится текст и код, который появляется при включённом maintenance режиме.
- composer.json и composer.lock - composer файлы, где прописаны установленные библиотеки. Здесь - php-graphin-node-client и всё необходимое для его работы.
- helpers.php - подключение к блокчейнам (connectors php-node-client) и перевод дат в удобочитаемый вид с названием месяцев. Также там подключается noCache, которая отключает кеширование.
- home.php - заголовки и описания для главной страницы https://dpos.space
- index.php - основной файл. Подключаются params.php, helper.php, urls.php и производится запись логов посещений сервисов.
- params.php, где прописаны различные условия для сервисов, а также подключены файлы params.php самих сервисов.
- urls.php - ЧПУ (человекопонятные url). Позволяет использовать адреса вида https://dpos.space/profiles/denis-skripnik/viz вместо https://dpos.space/index.php?service=profiles&user=denis-skripnik&blockchain=viz
- users.log - лог посещений сервисов пользователями. Если кто-то посетил профиль с логином den, а потом пошёл в бекапы, то посещения от имени аккаунта den будут. Конечно, это не показывает, что именно den был там, но позволяет предполагать это. Мне этого достаточно - я не стал заморачиваться. Файл состоит из даты и времени посещения, логина пользователя, сервиса и блокчейна. В Github файл пустой.
- vendor. Здесь находится всё необходимое для работоспособности php-node-client.
- template - папка с шаблоном сайта. Здесь можно найти
header.php (Верхняя часть сайта:
секция head и начала body),
menu.php - Меню.
Причём в зависимости от блокчейна выводятся разные пункты, если это требуется. Также при переходе, например, из сервиса профиля с пользователем и блокчейном в фиды, они сохранятся в адресной строке, а значит, просмотрев данные пользователя name в блокчейне steem, вы сможете потом почитать посты его подписчиков в том-же блокчейне.
content.php - подгрузка контентной части сайта. Тут берутся файлы index.php сервисов.
footer.php - нижняя часть сайта: копирайт, ссылки, просьбы и прочее.
favicon.ico - иконка сайта.
form_with_select.php - форма со списком выбора блокчейна.
form_without_select.php - без select выбора блокчейна.
template/css - папка с файлами стилей. famaly-Rubik.css - шрифты, normalize.css., style.min.css - основной файл стилей.- js/libs: jquery и garlic.min.js (для автозаполнения форм).
js/index.js - основной файл сервисов dpos.space.
- js/libs: jquery и garlic.min.js (для автозаполнения форм).
Подробнее об основном Javascript файле:
В нём прописаны следующие функции:
- Ajax переключение блокчейнов с редиректом url в адресной строке;
- Передача файлам вкладок profiles данных: название блокчейна, логин пользователя, а если вкладка с пагинацией, некоторые другие данные, например, номер страницы.
- Прописываются url сервисов и их названия.
- Различные условия и ajax подключения для сервисов.
Всё.
Буду рад пулл-реквестам и форкам сервиса.
В следующей части расскажу о заявке в комитет, а также про обоснование минимальной и максимальной цены.
С вами был @denis-skripnik: незрячий программист, делегат и пользователь VIZ.
Буду рад вашим голосам за моего делегата тут: https://viz.world/witnesses/denis-skripnik/
Show comment form
Comments