readme update
This commit is contained in:
88
README.md
88
README.md
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Бэкенд для логистической платформы. Управление заказами на перевозку, водителями, транспортом и складами. При создании заказа строится реальный маршрут через OSRM, считается стоимость перевозки, трекинг водителя в реальном времени через WebSocket.
|
Бэкенд для логистической платформы. Управление заказами на перевозку, водителями, транспортом и складами. При создании заказа строится реальный маршрут через OSRM, считается стоимость перевозки, трекинг водителя в реальном времени через WebSocket.
|
||||||
|
|
||||||
Репозиторий: [github.com/anxi0uz/logiflow](https://github.com/anxi0uz/logiflow.git)
|
Репозиторий: [github.com/anxi0uz/logiflow](https://github.com/anxi0uz/logiflow)
|
||||||
|
|
||||||
## Стек
|
## Стек
|
||||||
|
|
||||||
@@ -14,30 +14,90 @@
|
|||||||
- **Prometheus + Grafana** — мониторинг HTTP метрик
|
- **Prometheus + Grafana** — мониторинг HTTP метрик
|
||||||
- **Podman** — контейнеризация
|
- **Podman** — контейнеризация
|
||||||
|
|
||||||
## Быстрый старт
|
## Запуск
|
||||||
|
|
||||||
|
### Зависимости
|
||||||
|
|
||||||
|
**Linux:**
|
||||||
|
- [Podman](https://podman.io/docs/installation) + [podman-compose](https://github.com/containers/podman-compose)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Arch
|
||||||
|
sudo pacman -S podman
|
||||||
|
pip install podman-compose
|
||||||
|
# Или
|
||||||
|
yay -S podman-compose
|
||||||
|
|
||||||
|
# Ubuntu/Debian
|
||||||
|
sudo apt install podman
|
||||||
|
pip install podman-compose
|
||||||
|
```
|
||||||
|
|
||||||
|
**Windows:**
|
||||||
|
- [Docker Desktop](https://www.docker.com/products/docker-desktop/) — включает docker-compose
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 1. Клонировать репозиторий
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/anxi0uz/logiflow.git
|
||||||
|
cd logiflow
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2. Заполнить `.env`
|
||||||
|
|
||||||
|
В корне проекта уже есть `.env` — просто заполни значения:
|
||||||
|
|
||||||
|
```env
|
||||||
|
LOGIFLOW_DATABASE_USER=logiflow
|
||||||
|
LOGIFLOW_DATABASE_PASSWORD=yourpassword
|
||||||
|
LOGIFLOW_DATABASE_NAME=logiflow
|
||||||
|
LOGIFLOW_REDIS_PASSWORD=yourredispassword
|
||||||
|
LOGIFLOW_JWT_KEY=your-secret-jwt-key-min-32-chars
|
||||||
|
```
|
||||||
|
|
||||||
|
> `LOGIFLOW_JWT_KEY` — любая случайная строка, минимум 32 символа.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 3. Создать сеть (только Linux / Podman)
|
||||||
|
|
||||||
Создать сеть:
|
|
||||||
```bash
|
```bash
|
||||||
podman network create LogiflowNetwork
|
podman network create LogiflowNetwork
|
||||||
```
|
```
|
||||||
|
|
||||||
Создать `.env` и заполнить:
|
На Windows Docker создаёт сеть автоматически — этот шаг пропускай.
|
||||||
```bash
|
|
||||||
LOGIFLOW_DATABASE_USER=
|
|
||||||
LOGIFLOW_DATABASE_PASSWORD=
|
|
||||||
LOGIFLOW_DATABASE_NAME=
|
|
||||||
LOGIFLOW_REDIS_PASSWORD=
|
|
||||||
LOGIFLOW_JWT_KEY=
|
|
||||||
```
|
|
||||||
|
|
||||||
Поднять все сервисы:
|
---
|
||||||
|
|
||||||
|
### 4. Запустить
|
||||||
|
|
||||||
|
**Linux (Podman):**
|
||||||
```bash
|
```bash
|
||||||
make up # запуск
|
make up # запуск
|
||||||
make build-up # пересборка + запуск
|
make build-up # пересборка образа + запуск
|
||||||
make down # остановка
|
make down # остановка
|
||||||
make deploy # pull + пересборка + запуск (для деплоя)
|
make deploy # pull + пересборка + запуск (для деплоя)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Windows (Docker):**
|
||||||
|
```bat
|
||||||
|
docker compose up -d
|
||||||
|
docker compose build && docker compose up -d
|
||||||
|
docker compose down
|
||||||
|
```
|
||||||
|
|
||||||
|
Миграции БД применяются **автоматически** при старте приложения — делать ничего не нужно.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 5. Проверить
|
||||||
|
|
||||||
|
Открыть в браузере `http://localhost:3001/metrics` — если страница отвечает, сервер поднят.
|
||||||
|
|
||||||
## Сервисы
|
## Сервисы
|
||||||
|
|
||||||
| Сервис | Адрес |
|
| Сервис | Адрес |
|
||||||
@@ -197,7 +257,7 @@ orders (created_by_id → users, driver_id → drivers, manager_id → managers)
|
|||||||
|
|
||||||
notifications (user_id → users)
|
notifications (user_id → users)
|
||||||
```
|
```
|
||||||
|

|
||||||
## Мониторинг
|
## Мониторинг
|
||||||
|
|
||||||
Prometheus собирает метрики с `/metrics`. Grafana доступна на `localhost:3000` (admin/admin).
|
Prometheus собирает метрики с `/metrics`. Grafana доступна на `localhost:3000` (admin/admin).
|
||||||
|
|||||||
BIN
docs/db.jpg
Normal file
BIN
docs/db.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
Reference in New Issue
Block a user