79 lines
3.6 KiB
Markdown
79 lines
3.6 KiB
Markdown
# IU9 C.A. WEB CHAT
|
||
|
||
C.A. stands for Collarbone Annihilation.
|
||
|
||
# About
|
||
|
||
Сделан на летней практике 5-ю первокурсниками из ИУ9-21Б.
|
||
|
||
# Dependencies
|
||
|
||
iu9-ca-web-chat использует
|
||
- GCC
|
||
- [regexis024-build-system](
|
||
https://gitlab.yyyi.ru/collarbone-annihilation/regexis024-build-system
|
||
)
|
||
- [libregexis024](
|
||
https://gitlab.yyyi.ru/kme-devline/libregexis024
|
||
)
|
||
- [libjsonincpp](
|
||
https://gitlab.yyyi.ru/collarbone-annihilation/libjsonincpp
|
||
)
|
||
- [sqlite3](
|
||
https://www.sqlite.org
|
||
)
|
||
|
||
Сервис так же использует библиотеки engine_engine_number_9 и new_york_transit_line,
|
||
размещённые прямо в репозитории.
|
||
|
||
Работает только на unix системах.
|
||
|
||
# Compilation
|
||
|
||
```sh
|
||
regexis024_build_system.sh
|
||
./building/main bi ./ "absolute/path/to/installation/root"
|
||
```
|
||
# Usage
|
||
|
||
Помимо самого бинарника нужен файл с настройками сервиса. Формат настроек: JSON.
|
||
Комментарии не поддерживаются. Пример такого файла находится в example/config.json.
|
||
Вместе с бинарным фалом так же распространяются ассеты, необходимые для работы сайта.
|
||
Их можно найти в папке assets. В настроках (поле `["assets"]`) указывается путь до
|
||
папки с ассетами. Путь может быть как абсолютным, так и относительным к рабочей директории.
|
||
Поле настроек `["database"]` указывает как соединиться с базой данных.
|
||
Поддерживается только база данных sqlite3. Поддерживается только хранение в файле.
|
||
Поле `["database"]["file"]` указывает путь где хранится sqlite база данных.
|
||
|
||
Перед тем как использовать сервис нужно его проинициализировать (а точнее проинициализировать
|
||
базу данных):
|
||
|
||
`ROOT_PW="<your desired root password>" iu9-ca-web-chat /path/to/config.json initialize`
|
||
|
||
Переменная окружения `ROOT_PW` читается для устаановки пароля root пользователю раз и навсегда.
|
||
Далее можно запускать сервис:
|
||
|
||
`iu9-ca-web-chat /path/to/config.json run`
|
||
|
||
Для остановки сервиса киньте ему SIGTERM или SIGINT.
|
||
|
||
Утилита `iu9-ca-web-chat-admin-cli` позволяет администратору сервиса контролировать его через сокет
|
||
(адрес указан в `config["server"]["admin-command-listen"]`).
|
||
|
||
# Список участников
|
||
|
||
1. [Китанин Фёдор](https://gitflic.ru/user/fed-kit)
|
||
2. [Андреев Григорий](https://gitflic.ru/user/biburat)
|
||
3. [Зоткин Владимир](https://gitflic.ru/user/vova2006)
|
||
4. [Каримов Адель](https://gitflic.ru/user/ra1n)
|
||
5. [Яковлев Антон](https://gitflic.ru/user/yakovlevanton)
|
||
|
||
# Комментарии (для разработчиков)
|
||
|
||
Зачем писать комментарии в коде, если можно их вынести в отдельные пдф-ки?
|
||
|
||
- [Документация для разработчиков](
|
||
https://gitlab.yyyi.ru/collarbone-annihilation/iu9-ca-chat-api)
|
||
|
||
О том как работает всё остальное можно только догадываться.
|