7.5 KiB
7.5 KiB
eventhub
An OTP application
Build
$ rebar3 compile
EventHub - Шпаргалка по Makefile командам
🚀 Разработка
| Команда | Описание |
|---|---|
make compile |
Скомпилировать проект |
make shell |
Запустить интерактивную Erlang оболочку |
make run |
Запустить приложение в foreground |
make start |
Запустить приложение в фоне |
make stop |
Остановить приложение |
make restart |
Перезапустить приложение |
make logs |
Показать логи |
make console |
Подключиться к запущенной ноде |
make clean |
Очистить проект |
make deps |
Установить зависимости |
make update-deps |
Обновить зависимости |
🧪 Тестирование
| Команда | Описание |
|---|---|
make test |
Алиас для make eunit |
make eunit |
Запустить все EUnit тесты |
make eunit-verbose |
EUnit тесты с подробным выводом |
make eunit-module MODULE=имя |
Тесты для конкретного модуля |
make test-api |
Запустить все API тесты (сервер запустится и остановится автоматически) |
make test-quick |
Запустить API тесты с существующим сервером |
make test-runner PATTERN=booking |
Запустить API тесты бронирований |
cd test/scripts && ./test_runner.sh -v auth |
Запустить тесты в verbose режиме |
make test-auth |
Только тесты аутентификации |
make test-calendar |
Только тесты календарей |
make test-event |
Только тесты событий |
make test-booking |
Только тесты бронирований |
make test-all |
Все тесты (EUnit + API) |
make cover |
Тесты с отчётом о покрытии кода |
🔍 Качество кода
| Команда | Описание |
|---|---|
make dialyzer |
Статический анализ кода |
make xref |
Проверка кросс-ссылок |
make lint |
Проверка стиля кода |
make format |
Форматирование кода (требуется erlfmt) |
make docs |
Генерация документации EDoc |
📦 Релиз и Docker
| Команда | Описание |
|---|---|
make release |
Собрать production релиз |
make tar |
Создать tar.gz архив релиза |
make docker-build |
Собрать Docker образ |
make docker-run |
Запустить Docker контейнер |
make docker-stop |
Остановить Docker контейнер |
🛠 Утилиты
| Команда | Описание |
|---|---|
make status |
Проверить статус сервера (healthcheck) |
make tree |
Показать структуру проекта |
make info |
Показать информацию о проекте и API |
make help |
Показать все доступные команды |
👨💻 Рабочий процесс разработки
| Команда | Описание |
|---|---|
make dev-setup |
Настройка окружения (deps + compile) |
make dev-test |
Быстрый цикл: compile + eunit |
make dev-watch |
Автокомпиляция при изменениях (требуется entr) |
📋 Git хелперы
| Команда | Описание |
|---|---|
make git-status |
Показать статус Git |
make git-log |
Показать лог (последние 10 коммитов) |
make git-save |
Commit + push (запросит сообщение) |
🔧 Примеры использования
# Запустить тесты для конкретного модуля
make eunit-module MODULE=core_booking_tests
# Запустить приложение, затем API тесты
make run & make test-api
# Полный цикл: очистка, компиляция, тесты
make clean compile eunit
# Проверить статус сервера
make status
# Собрать Docker образ и запустить
make docker-build && make docker-run
🎯 Полезные сочетания
# Остановить всё, очистить, собрать заново, запустить тесты
make stop && make clean && make compile && make eunit
# Запустить сервер в фоне и проверить статус
make start && sleep 3 && make status
# Посмотреть структуру проекта
make tree
# Показать информацию о проекте
make info
📡 API Эндпоинты (порт 8080)
| Метод | Путь | Описание |
|---|---|---|
| POST | /v1/register | Регистрация пользователя |
| POST | /v1/login | Логин (получение JWT) |
| POST | /v1/refresh | Обновление токена |
| GET | /v1/user/me | Профиль текущего пользователя |
| GET | /v1/user/bookings | Бронирования пользователя |
| POST | /v1/calendars | Создание календаря |
| GET | /v1/calendars | Список календарей |
| GET | /v1/calendars/:id | Получение календаря |
| PUT | /v1/calendars/:id | Обновление календаря |
| DELETE | /v1/calendars/:id | Удаление календаря |
| POST | /v1/calendars/:id/events | Создание события |
| GET | /v1/calendars/:id/events | Список событий календаря |
| GET | /v1/events/:id | Получение события |
| PUT | /v1/events/:id | Обновление события |
| DELETE | /v1/events/:id | Удаление события |
| GET | /v1/events/:id/occurrences | Вхождения повторяющегося |
| DELETE | /v1/events/:id/occurrences/:time | Отмена вхождения |
| POST | /v1/events/:id/bookings | Запись на событие |
| GET | /v1/events/:id/bookings | Список бронирований события |
| GET | /v1/bookings/:id | Получение бронирования |
| PUT | /v1/bookings/:id | Подтверждение/отклонение |
| DELETE | /v1/bookings/:id | Отмена бронирования |
| GET | /health | Healthcheck |