Добавлена документация.
* Обновлён TODO + Добавлен .gitignore + Добавлен черновик README.md + Добавлен черновой вариант bootstrap.sh
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
vendor_perl/**
|
||||||
66
README.md
Normal file
66
README.md
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
### Что это?
|
||||||
|
myapi - разнообразное api и пример его использования. Api написано на perl-е для удобства и простоты разработки.
|
||||||
|
|
||||||
|
### Что умеет?
|
||||||
|
|
||||||
|
#### ping.pm
|
||||||
|
отвечает pong, нужно для проверки, что приложение в принципе живо
|
||||||
|
|
||||||
|
#### easter_egg.pm
|
||||||
|
ditto, пробсто бесполезные функции, just for fun
|
||||||
|
quote - цитата дня
|
||||||
|
chanserv - обращение к несуществующему chanserv
|
||||||
|
nickserv - обращение у несуществующему nickserv
|
||||||
|
me - действие /me
|
||||||
|
|
||||||
|
#### image_dl.pm
|
||||||
|
будет модуль для скачивания картинок из интернетов
|
||||||
|
|
||||||
|
#### metagen.pm
|
||||||
|
будет модуль для генерации метаданных в указанном репозитории
|
||||||
|
|
||||||
|
#### upload.pm
|
||||||
|
модуль-пример для загрузки файлов в каталог, конфигурируется в myapi.json в классе upload.
|
||||||
|
|
||||||
|
#### paste.pm
|
||||||
|
будет модуль для пасты и для сокращения ссылок
|
||||||
|
|
||||||
|
#### utils.pm
|
||||||
|
модуль с простыми утилитами
|
||||||
|
ip - возвращает ip, с которого пришёл клиент
|
||||||
|
getaddrbyname - возвращает список ipv4 адресов по имени хоста
|
||||||
|
getnamebyaddr - возвращает имя хоста по ipv4 адресу
|
||||||
|
punycoder - кодирует в punycode
|
||||||
|
punydecoder - превращает punycode-строку в utf-8 строку
|
||||||
|
mytime - возвращает время
|
||||||
|
|
||||||
|
#### ircbot.pm
|
||||||
|
будет модуль с простым ботом
|
||||||
|
|
||||||
|
#### xmppbot.pm
|
||||||
|
будет модуль с простым xmpp-ботом
|
||||||
|
|
||||||
|
### Зачем это?
|
||||||
|
ХЗ, если есть что-то интересное в наборе модулей, то можно это использовать
|
||||||
|
|
||||||
|
### Подготовка к запуску
|
||||||
|
#### Сервер приложений
|
||||||
|
Для запуска api используется uwsgi. Возможен вариант запуска и через другие сервера psgi, например, через plack или nginx unit, но это не тестировалось.
|
||||||
|
|
||||||
|
#### Перловые модули
|
||||||
|
Помимо самого perl-а, для запуска нужны cpanm и lib::local, чтобы имет возможность засосать всё остальное в каталог vendor_perl.
|
||||||
|
|
||||||
|
#### Подготовительные операции
|
||||||
|
Перед первым запуском и после каждого обновления необходимо запускать bootstrap.sh, который и засасывает зависимости из интернетов и складывает их все в каталог vendor_perl.
|
||||||
|
|
||||||
|
Зависимостей сравнительно много и среди них есть "пидорские", но вполне себе стабильные модули, подтягиваемые по графу зависимостей не напрямую :)
|
||||||
|
|
||||||
|
#### Конфигурация uWSGI
|
||||||
|
TBD
|
||||||
|
|
||||||
|
### Запуск
|
||||||
|
В процессе работы api, данные складываются в каталог data.
|
||||||
|
TBD
|
||||||
|
|
||||||
|
### Отанов
|
||||||
|
TBD
|
||||||
2
TODO
2
TODO
@@ -8,3 +8,5 @@
|
|||||||
* shortener api for goo.gl or same services
|
* shortener api for goo.gl or same services
|
||||||
* paste api for some pastebins
|
* paste api for some pastebins
|
||||||
* image downloader
|
* image downloader
|
||||||
|
* repo uploader
|
||||||
|
* repo metadata re-generator
|
||||||
|
|||||||
3
bootstrap.sh
Normal file
3
bootstrap.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cpanm -l vendor_perl Plack
|
||||||
Reference in New Issue
Block a user