Backend на Go (Fiber + PostgreSQL + Redis + MinIO)
- PUT /api/v1/me (update name, city, bio, gender, photo) - GET/PUT /api/v1/me/prefs (drinks, activities, purposes, language) - PUT /api/v1/me/location (auto-noise ~300m) - PUT /api/v1/me/visibility (hide/show on map) - GET /api/v1/search/nearby?lat&lng&radius (haversine, 1h TTL) - GET /api/v1/users/:id (public profile, no email/phone) - migrations 0002: user_preferences, user_locations |
||
|---|---|---|
| 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 для полного списка.