Backend на Go (Fiber + PostgreSQL + Redis + MinIO)
- Telegram bot (long polling) - /api/v1/auth/telegram (validate initData, auto-create user) - /api/v1/auth/consents (record acceptances) - users.telegram_id column, GetByTelegramID/CreateWithTelegramID - ValidateInitData (HMAC-SHA256 with WebAppData secret) |
||
|---|---|---|
| cmd/server | ||
| internal | ||
| migrations | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| go.mod | ||
| README.md | ||
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 для полного списка.