Files
shop10/README.md
T

119 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ShopNova — интернет-магазин (Go)
**Версия:** `0.20` · [Релизы](https://git.evilfox.cc/test/shop3/releases)
Главная страница интернет-магазина на Go с PostgreSQL 17 (SSL), reverse proxy Caddy и Docker Compose.
Репозиторий: https://git.evilfox.cc/test/shop3.git
Клонировать конкретную версию:
```bash
git clone --branch v0.20 https://git.evilfox.cc/test/shop3.git
```
## Быстрая установка на сервере
Требования: **Git**, **Docker**, **Docker Compose** (плагин `docker compose`).
```bash
# 1. Клонировать
git clone https://git.evilfox.cc/test/shop3.git
cd shop3
# 2. Установщик (домен + база данных → .env и caddy/Caddyfile)
chmod +x install.sh check.sh
./install.sh
# 3. Проверка версий
./check.sh
# 4. Запуск
docker compose up --build -d
```
Одной цепочкой (после клона введите ответы установщика):
```bash
git clone https://git.evilfox.cc/test/shop3.git && cd shop3 && chmod +x install.sh check.sh && ./install.sh && ./check.sh && docker compose up --build -d
```
С Go на сервере вместо `install.sh`:
```bash
go run ./cmd/install
go run ./cmd/check
```
Без Go — установщик сам запустится в контейнере `golang:1.22-alpine`.
### Обновление на сервере
```bash
cd shop3
git pull
docker compose up --build -d
```
### Полезные команды
```bash
docker compose ps # статус контейнеров
docker compose logs -f # логи
curl -s http://localhost/health | jq
curl -s http://localhost/version | jq
```
Сайт: `http://localhost` или `https://ваш-домен` (если указали в установщике).
---
## Установка на Windows (локально)
```powershell
git clone https://git.evilfox.cc/test/shop3.git
cd shop3
.\install.ps1
.\check.ps1
docker compose up --build -d
```
## Проверка версий
Проверяет Go, Docker, Docker Compose и PostgreSQL (**ожидается 17.x**):
```bash
./check.sh
# или: go run ./cmd/check
```
После запуска сервера:
- `GET /health` — статус и проверки
- `GET /version` — версии приложения, Go и PostgreSQL
## Регистрация и личный кабинет
| URL | Описание |
|-----|----------|
| `/register` | Регистрация |
| `/login` | Вход |
| `/account` | Личный кабинет (только для авторизованных) |
| `POST /logout` | Выход |
Сессии в cookie `shop_session`, пароли — bcrypt.
Если БД уже была создана до обновления, примените миграцию:
```bash
docker compose exec -T postgres psql -U shop -d shopdb < postgres/init/02_users.sql
```
## Локальная разработка
```bash
go run ./cmd/server
```
`DATABASE_URL` задаётся в `.env` (см. `.env.example` или установщик).