Backend на Go (Fiber + PostgreSQL + Redis + MinIO)
Go to file
ga c30faf02ef Sprint 6: security hardening
1. CORS whitelist (was '*'): only buhapp.mygoodservice.ru, t.me, web.telegram.org
2. Rate limit on /auth/login (10/min/IP) and /auth/register (5/hour/IP)
3. TGHandler: removed unused JWTSecret, added WebhookSecret, real secret check
4. Login: constant-time bcrypt on user enumeration (dummy hash)
5. TgUsername saved in users (was lost)
6. User.IsVerified=true for Telegram users
7. Register: 409 instead of 500 on duplicate email
8. Bumped version to 0.4.0
2026-08-20 20:42:22 +00:00
cmd/server Sprint 6: security hardening 2026-08-20 20:42:22 +00:00
internal Sprint 6: security hardening 2026-08-20 20:42:22 +00:00
migrations Telegram WebApp support + consent endpoint 2026-08-20 17:43:20 +00:00
tests Sprint 6: security hardening 2026-08-20 20:42:22 +00:00
.env.example Sprint 1: scaffold backend (Go + Fiber + PG + Redis + MinIO) 2026-08-20 15:41:05 +00:00
.gitignore Sprint 1: scaffold backend (Go + Fiber + PG + Redis + MinIO) 2026-08-20 15:41:05 +00:00
docker-compose.yml Sprint 1: scaffold backend (Go + Fiber + PG + Redis + MinIO) 2026-08-20 15:41:05 +00:00
Dockerfile Sprint 5: reviews and ratings 2026-08-20 16:20:15 +00:00
go.mod Sprint 6: security hardening 2026-08-20 20:42:22 +00:00
README.md Sprint 1: scaffold backend (Go + Fiber + PG + Redis + MinIO) 2026-08-20 15:41:05 +00:00

BuhApp Backend

Backend на Go (Fiber) для приложения BuhApp.

Стек

  • Go 1.22+
  • Fiber v2 (HTTP framework)
  • PostgreSQL 16 (pgx/v5)
  • Redis 7 (go-redis)
  • MinIO (S3-compatible storage)
  • JWT (golang-jwt)
  • bcrypt (golang.org/x/crypto)

Структура

buhapp-backend/
├── cmd/server/main.go        — точка входа
├── internal/
│   ├── config/               — конфигурация (.env)
│   ├── db/                   — PostgreSQL, миграции
│   ├── redis/                — Redis клиент
│   ├── storage/              — MinIO клиент
│   ├── auth/                 — JWT, регистрация, логин
│   ├── users/                — профили
│   ├── consent/              — лог согласий (юридика)
│   ├── audit/                — audit_log
│   ├── legal/                — версии документов
│   ├── middleware/           — auth, rate limit
│   └── handlers/             — HTTP handlers
├── migrations/               — SQL миграции
├── Dockerfile
├── docker-compose.yml
├── .env.example
└── README.md

Запуск (dev)

docker compose up -d postgres redis minio
go run cmd/server/main.go

API

См. /buhapp-docs/TZ.md для полного списка.

Документация

https://git.buhapp.mygoodservice.ru/ga/buhapp-docs