1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/alchemists-ziply

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 07:04 517f5e1

Ziply

аналог Bitly/TinyURL

Установка

Требуется среда Elixir 1.9 и выше.

Следуйте инструкции на сайте The Elixir programming language для установки среды на локальном компьютере:
https://elixir-lang.org/install.html

После успешной установки выполните команду:

$ elixir -v

Результат должен быть примерно таким:
Erlang/OTP 22 [erts-10.5.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe] [dtrace]
Elixir 1.9.1 (compiled with Erlang/OTP 22)

Это означает, что установка прошла успешно.

Теперь можно запустить проект на локальном компьютере. Для этого выполните следующие шаги:

  1. Клонируйте репозиторий проекта:

git clone https://gitee.com/alchemists/ziply.git

  1. Создайте каталог для базы данных:

mkdir priv

  1. Перейдите в каталог приложения:

cd ziply/short_ener

  1. Установите зависимости и скомпилируйте их:

mix deps.get && mix deps.compile

  1. Запустите приложение:

mix run --no-halt

Приложение должно запуститься. В консоли вы увидите вывод, который может выглядеть так:
Compiling 11 files (.ex)
Generated short_ener app
...
Running ShortEner...at 9081
Application mnesia exited: :stopped

Это значит, что приложение успешно запущено.

Использование
В MVP-версии доступны только три основные функции:

  1. Проверка работоспособности:

curl localhost:9081/ping

Ответ:
pong ;-)
I'm alive.

  1. Генерация короткого URL:

curl localhost:9081/api -X POST -d 'url=https://qq.com/'

Если это новый URL, то ответ будет:
Ziply: t.101.s/qogl ~> https://qq.com/

Если же это старый URL, то:
Ziped: t.101.s/qogl ~> https://qq.com/

  1. Переадресация на короткий URL:
    Просто перейдите по короткому URL в браузере:
    http://t.101.s/qogl

Развёртывание
Рекомендуется использовать инструмент mix release.

На целевом сервере перейдите в клонированный каталог проекта:
cd path/2/u/ziply/short_ener

Инициализируйте релиз:
mix release.init

Скомпилируйте релиз в режиме prod:
MIX_ENV=prod mix release --overwrite

Затем вы можете запустить релиз:
_build/prod/rel/short_ener/bin/short_ener start

Чтобы подключиться к нему удалённо:
_build/prod/rel/short_ener/bin/short_ener remote

Или остановить его корректно:
_build/prod/rel/short_ener/bin/short_ener stop

Для просмотра всех команд:
_build/prod/rel/short_ener/bin/short_ener Работа системы через удаленную оболочку

  • restart — перезапускает работающую систему через удалённую команду.
  • stop — останавливает работающую систему через удалённую команду.
  • pid — выводит PID ОС работающей системы через удалённую команду.
  • version — выводит название релиза и версию для загрузки.

Функции

Поддержка и планирование

  • Функции:

    • POST интерфейс.
    • GET интерфейс:
      • /
      • /ping
      • /ziplty: 302 перенаправление
      • счётчик посещений.
    • SSL (не реализовано).
  • Управление:

    • публикация привязана к t.101.so.
    • статистика посещений.
    • тестовые случаи (не реализованы).
    • публикация по HTTPS (не реализована).
    • управление интерфейсом шифрования/аутентификации (не реализовано).
    • Mnesia DBA:
      • резервное копирование (не реализовано).
      • миграция (не реализовано).
      • восстановление (не реализовано).
      • распределение (не реализовано).
  • Коммерциализация:

    • тестирование (не реализовано, возможно с использованием PropEr).
    • документация:
      • curl текст ~ 3264b43.
      • README текст ~ (текст не указан).
    • истории (не реализованы).
    • видео (не реализованы).

Лицензия

Используется лицензия MIT (LICENSE).

Благодарности

— RIP/Joe Armstrong за создание Erlang. — José Valim за вдохновение и создание Elixir.

Участие и вклад

  1. Форк этого репозитория.
  2. Создание ветки Feat_xxx.
  3. Отправка кода.
  4. Создание запроса на вытягивание (Pull Request).

Ход работы:

— 201019 zoomquiet: дополнена документация, предложено опубликовать в master. — 201018 zoomquiet: перестроено в Shortener. — 201017 zoomquiet: прототип завершён. — 201016 zoomquiet: API схема определена. — 201014 zoomquiet: инициализация.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/alchemists-ziply.git
git@api.gitlife.ru:oschina-mirror/alchemists-ziply.git
oschina-mirror
alchemists-ziply
alchemists-ziply
master