IraSoro / web-services-adapter

This application is a free and open analogue of Zapier, Microsoft Flow and other similar services.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Web-services adapter

Данное приложение является свободным и открытым аналогом Zapier, Microsoft Flow и др. подобных сервисов.

Содержание

  1. Организация исходного кода
  2. Скрипты
  3. Сборка и запуск
  4. API

Организация исходного кода

В проекте содержатся следующие директории

  • api - API адаптера для обработки запросов
  • assets - статические файлы, которые можно получить при обращении к серверу (иконки и т.д.)
  • cfg - файлы с конфигурацией, всякие файлы, необходимые для приложения
  • core - здесь содержатся классы и функции, которые требуются для работы адаптера, например, работа с сервисами, планировщики, хуки и т.д.
    • apps - директория со всеми сервисами, которые поддерживает адаптер
    • utils - вспомогательные утилиты и приложения для адаптера
  • public - директория проекта, в которой содержится index.html файл и собранный bundle веб-интерфейса
  • test - директория с тестами на Mocha
    • chains.test.js - файл для тестирования сценариев
  • thunder - директория с файлами thunder для тестирования API
  • ui - стартовая точка React-приложения
    • components - собственные реализованные компоненты, которые используются в приложении
    • factories - фабрики приложения, тут хранятся React-страницы для конфигурации команд/триггеров
    • pages - страницы приложения
    • app.jsx - стартовый файл ui
    • components.jsx - реэкспорт директории components
    • factory.jsx - реализация фабрики, которая возвращает компонент из factories по имени приложения и триггеру
    • pages.jsx - реэкспорт директории pages
  • main.js - главный скрипт адаптера, который запускает сервер на Express, по корневому адресу отображается собранный веб-интерфейс пользователя

Скрипты

package.json содержит следующие скрипты:

  • dev - запускает dev-режим разработки с перезапуском и повторной сборкой при наличии изменений
  • dev:ui - режим с запуском сборки при наличии изменений в ui
  • dev:server - режим с перезапуском приложения при наличии изменений на стороне сервера
  • start - запуск приложения в production режиме
  • test - запуск тестов Mocha
  • check - запуск eslint
  • build - запуск production сборки в webpack

Сборка и запуск

Dev

npm i
npm run dev

Deploy

npm i
npm start

API

Для облегчения тестирования внутри проекта лежит директория Thunder с коллекцией запросов, которые можно использовать, достаточно только импортировать эту коллекцию к себе в расширение Thunder для VsCode

Для работы с API требуется авторизация пользователя, для этого нужно зайти в раздел Env в Thunder, вбить username и password, сделать запрос на /auth/signUp, и после на /auth/signIn, получить accessToken, вписать его в Env разделе, после этого можно делать запросы из Thunder

RestAPI v1

Маршрут /api/v1/

  • /auth
    • /signUp - Регистрация
    • /signIn - Вход
    • /accessToken - Получение токена доступа
    • /logOut - Выход
  • /apps/
    • / - Список всех приложений
    • /:filter/search/ - Поиск по фильтру
    • /:appName - Получения информации о приложении по конкретному имени
  • /applets
    • / - Все апплеты
    • / (POST) - Добавление апплета
    • /:uuid - Получение апплета по uuid
    • /:uuid (POST) - Обновление апплета по uuid
    • /:uuid (DEL) - Удаление апплета по uuid

About

This application is a free and open analogue of Zapier, Microsoft Flow and other similar services.


Languages

Language:JavaScript 99.4%Language:HTML 0.6%