Skip to content

Commit 7866cc2

Browse files
committed
tighten docs prose and fix broken testing placeholder
- testing.md (+5 locales): replace [package_name] with Observer in prose, github.com/lbrty/observer/internal/ in import paths, and a real email in JSON fixtures - introduction.md (+5 locales): merge self-hostable/self-hosted bullets - getting-started.md (+5 locales): shrink "what you just started" to one sentence - deployment.md (+5 locales): drop throat-clearing intro, tighten Docker lead - DOCKER_HUB_README.md: minor fluff cuts
1 parent 3f9f72b commit 7866cc2

25 files changed

Lines changed: 69 additions & 123 deletions

DOCKER_HUB_README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ The container entrypoint is the `observer` binary. Available sub-commands:
128128

129129
## File storage
130130

131-
By default uploads are written to `STORAGE_PATH` inside the container. Mount a volume there to persist files across restarts.
131+
Uploads go to `STORAGE_PATH` inside the container. Mount a volume there to persist files across restarts.
132132

133133
For production, set `STORAGE_BACKEND=s3` and supply `S3_BUCKET`, `S3_REGION`, and AWS credentials via the standard `AWS_*` environment variables. Any S3-compatible store (MinIO, Tigris, Cloudflare R2) works by setting `S3_ENDPOINT`.
134134

@@ -137,7 +137,7 @@ For production, set `STORAGE_BACKEND=s3` and supply `S3_BUCKET`, `S3_REGION`, an
137137
## Upgrading
138138

139139
1. Pull the new image.
140-
2. Run `migrate up` — migrations are forward-only and safe to run on each deploy.
140+
2. Run `migrate up` — migrations are forward-only.
141141
3. Restart the service.
142142

143143
---

docs/content/docs/developers/testing.de.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Testen
33
weight: 4
44
---
55

6-
[package_name] verwendet drei Testschichten: Unit-Tests, Integrationstests mit Testcontainers und E2E-Tests über HTTP.
6+
Observer verwendet drei Testschichten: Unit-Tests, Integrationstests mit Testcontainers und E2E-Tests über HTTP.
77

88
```mermaid
99
graph TD
@@ -121,7 +121,7 @@ Mocks werden aus Interfaces mit `go:generate`-Direktiven generiert.
121121
Die Direktive in `internal/user/repository.go`:
122122

123123
```go
124-
//go:generate mockgen -destination=mock/repository.go -package=mock [package_name]/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
124+
//go:generate mockgen -destination=mock/repository.go -package=mock github.com/lbrty/observer/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
125125
```
126126

127127
Führen Sie `just generate-mocks` aus, um alle Mocks nach Interface-Änderungen neu zu generieren.
@@ -141,9 +141,9 @@ import (
141141
"github.com/stretchr/testify/require"
142142
"go.uber.org/mock/gomock"
143143

144-
"[package_name]/internal/auth"
145-
"[package_name]/internal/user"
146-
mock_user "[package_name]/internal/user/mock"
144+
"github.com/lbrty/observer/internal/auth"
145+
"github.com/lbrty/observer/internal/user"
146+
mock_user "github.com/lbrty/observer/internal/user/mock"
147147
)
148148

149149
func TestRegisterUseCase_Execute(t *testing.T) {
@@ -311,7 +311,7 @@ import (
311311
"github.com/stretchr/testify/assert"
312312
"go.uber.org/mock/gomock"
313313

314-
mock_database "[package_name]/internal/database/mock"
314+
mock_database "github.com/lbrty/observer/internal/database/mock"
315315
)
316316

317317
func TestHealthEndpoint(t *testing.T) {
@@ -375,15 +375,15 @@ func TestAuthFlow_E2E(t *testing.T) {
375375
router := s.Router()
376376

377377
// Schritt 1: Registrieren
378-
regBody := `{"[package_name].kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
378+
regBody := `{"email":"test@observer.kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
379379
w := httptest.NewRecorder()
380380
req := httptest.NewRequest(http.MethodPost, "/auth/register", strings.NewReader(regBody))
381381
req.Header.Set("Content-Type", "application/json")
382382
router.ServeHTTP(w, req)
383383
assert.Equal(t, http.StatusCreated, w.Code)
384384

385385
// Schritt 2: Anmelden
386-
loginBody := `{"[package_name].kg","password":"MyStr0ngPass!"}`
386+
loginBody := `{"email":"test@observer.kg","password":"MyStr0ngPass!"}`
387387
w = httptest.NewRecorder()
388388
req = httptest.NewRequest(http.MethodPost, "/auth/login", strings.NewReader(loginBody))
389389
req.Header.Set("Content-Type", "application/json")

docs/content/docs/developers/testing.ky.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Testtöö
33
weight: 4
44
---
55

6-
[package_name] üç testtöö qatmaryn qoldonot: unit testter, testcontainers menen integrasijalyq testter cana HTTP arqylu E2E testter.
6+
Observer üç testtöö qatmaryn qoldonot: unit testter, testcontainers menen integrasijalyq testter cana HTTP arqylu E2E testter.
77

88
```mermaid
99
graph TD
@@ -121,7 +121,7 @@ Mocktar interfejsterden `go:generate` direktivalary arqylu tüzülöt.
121121
`internal/user/repository.go` içindegi direktiva:
122122

123123
```go
124-
//go:generate mockgen -destination=mock/repository.go -package=mock [package_name]/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
124+
//go:generate mockgen -destination=mock/repository.go -package=mock github.com/lbrty/observer/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
125125
```
126126

127127
Interfejs özgörgöndön kiyin bardyq mocktardy qajra tüzüü üçün `just generate-mocks` işletiñiz.
@@ -141,9 +141,9 @@ import (
141141
"github.com/stretchr/testify/require"
142142
"go.uber.org/mock/gomock"
143143

144-
"[package_name]/internal/auth"
145-
"[package_name]/internal/user"
146-
mock_user "[package_name]/internal/user/mock"
144+
"github.com/lbrty/observer/internal/auth"
145+
"github.com/lbrty/observer/internal/user"
146+
mock_user "github.com/lbrty/observer/internal/user/mock"
147147
)
148148

149149
func TestRegisterUseCase_Execute(t *testing.T) {
@@ -311,7 +311,7 @@ import (
311311
"github.com/stretchr/testify/assert"
312312
"go.uber.org/mock/gomock"
313313

314-
mock_database "[package_name]/internal/database/mock"
314+
mock_database "github.com/lbrty/observer/internal/database/mock"
315315
)
316316

317317
func TestHealthEndpoint(t *testing.T) {
@@ -375,15 +375,15 @@ func TestAuthFlow_E2E(t *testing.T) {
375375
router := s.Router()
376376

377377
// Step 1: Register
378-
regBody := `{"[package_name].kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
378+
regBody := `{"email":"test@observer.kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
379379
w := httptest.NewRecorder()
380380
req := httptest.NewRequest(http.MethodPost, "/auth/register", strings.NewReader(regBody))
381381
req.Header.Set("Content-Type", "application/json")
382382
router.ServeHTTP(w, req)
383383
assert.Equal(t, http.StatusCreated, w.Code)
384384

385385
// Step 2: Login
386-
loginBody := `{"[package_name].kg","password":"MyStr0ngPass!"}`
386+
loginBody := `{"email":"test@observer.kg","password":"MyStr0ngPass!"}`
387387
w = httptest.NewRecorder()
388388
req = httptest.NewRequest(http.MethodPost, "/auth/login", strings.NewReader(loginBody))
389389
req.Header.Set("Content-Type", "application/json")

docs/content/docs/developers/testing.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Testing
33
weight: 4
44
---
55

6-
[package_name] uses three testing layers: unit tests, integration tests with testcontainers, and E2E tests via HTTP.
6+
Observer uses three testing layers: unit tests, integration tests with testcontainers, and E2E tests via HTTP.
77

88
```mermaid
99
graph TD
@@ -121,7 +121,7 @@ Mocks are generated from interfaces using `go:generate` directives.
121121
The directive in `internal/user/repository.go`:
122122

123123
```go
124-
//go:generate mockgen -destination=mock/repository.go -package=mock [package_name]/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
124+
//go:generate mockgen -destination=mock/repository.go -package=mock github.com/lbrty/observer/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
125125
```
126126

127127
Run `just generate-mocks` to regenerate all mocks after interface changes.
@@ -141,9 +141,9 @@ import (
141141
"github.com/stretchr/testify/require"
142142
"go.uber.org/mock/gomock"
143143

144-
"[package_name]/internal/auth"
145-
"[package_name]/internal/user"
146-
mock_user "[package_name]/internal/user/mock"
144+
"github.com/lbrty/observer/internal/auth"
145+
"github.com/lbrty/observer/internal/user"
146+
mock_user "github.com/lbrty/observer/internal/user/mock"
147147
)
148148

149149
func TestRegisterUseCase_Execute(t *testing.T) {
@@ -311,7 +311,7 @@ import (
311311
"github.com/stretchr/testify/assert"
312312
"go.uber.org/mock/gomock"
313313

314-
mock_database "[package_name]/internal/database/mock"
314+
mock_database "github.com/lbrty/observer/internal/database/mock"
315315
)
316316

317317
func TestHealthEndpoint(t *testing.T) {
@@ -375,15 +375,15 @@ func TestAuthFlow_E2E(t *testing.T) {
375375
router := s.Router()
376376

377377
// Step 1: Register
378-
regBody := `{"[package_name].kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
378+
regBody := `{"email":"test@observer.kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
379379
w := httptest.NewRecorder()
380380
req := httptest.NewRequest(http.MethodPost, "/auth/register", strings.NewReader(regBody))
381381
req.Header.Set("Content-Type", "application/json")
382382
router.ServeHTTP(w, req)
383383
assert.Equal(t, http.StatusCreated, w.Code)
384384

385385
// Step 2: Login
386-
loginBody := `{"[package_name].kg","password":"MyStr0ngPass!"}`
386+
loginBody := `{"email":"test@observer.kg","password":"MyStr0ngPass!"}`
387387
w = httptest.NewRecorder()
388388
req = httptest.NewRequest(http.MethodPost, "/auth/login", strings.NewReader(loginBody))
389389
req.Header.Set("Content-Type", "application/json")

docs/content/docs/developers/testing.ru.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Тестирование
33
weight: 4
44
---
55

6-
[package_name] использует три уровня тестирования: модульные тесты, интеграционные тесты с testcontainers и E2E-тесты через HTTP.
6+
Observer использует три уровня тестирования: модульные тесты, интеграционные тесты с testcontainers и E2E-тесты через HTTP.
77

88
```mermaid
99
graph TD
@@ -121,7 +121,7 @@ func TestUser_CanLogin(t *testing.T) {
121121
Директива в `internal/user/repository.go`:
122122

123123
```go
124-
//go:generate mockgen -destination=mock/repository.go -package=mock [package_name]/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
124+
//go:generate mockgen -destination=mock/repository.go -package=mock github.com/lbrty/observer/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
125125
```
126126

127127
Выполните `just generate-mocks` для перегенерации всех моков после изменения интерфейсов.
@@ -141,9 +141,9 @@ import (
141141
"github.com/stretchr/testify/require"
142142
"go.uber.org/mock/gomock"
143143

144-
"[package_name]/internal/auth"
145-
"[package_name]/internal/user"
146-
mock_user "[package_name]/internal/user/mock"
144+
"github.com/lbrty/observer/internal/auth"
145+
"github.com/lbrty/observer/internal/user"
146+
mock_user "github.com/lbrty/observer/internal/user/mock"
147147
)
148148

149149
func TestRegisterUseCase_Execute(t *testing.T) {
@@ -311,7 +311,7 @@ import (
311311
"github.com/stretchr/testify/assert"
312312
"go.uber.org/mock/gomock"
313313

314-
mock_database "[package_name]/internal/database/mock"
314+
mock_database "github.com/lbrty/observer/internal/database/mock"
315315
)
316316

317317
func TestHealthEndpoint(t *testing.T) {
@@ -375,15 +375,15 @@ func TestAuthFlow_E2E(t *testing.T) {
375375
router := s.Router()
376376

377377
// Step 1: Register
378-
regBody := `{"[package_name].kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
378+
regBody := `{"email":"test@observer.kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
379379
w := httptest.NewRecorder()
380380
req := httptest.NewRequest(http.MethodPost, "/auth/register", strings.NewReader(regBody))
381381
req.Header.Set("Content-Type", "application/json")
382382
router.ServeHTTP(w, req)
383383
assert.Equal(t, http.StatusCreated, w.Code)
384384

385385
// Step 2: Login
386-
loginBody := `{"[package_name].kg","password":"MyStr0ngPass!"}`
386+
loginBody := `{"email":"test@observer.kg","password":"MyStr0ngPass!"}`
387387
w = httptest.NewRecorder()
388388
req = httptest.NewRequest(http.MethodPost, "/auth/login", strings.NewReader(loginBody))
389389
req.Header.Set("Content-Type", "application/json")

docs/content/docs/developers/testing.tr.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Test
33
weight: 4
44
---
55

6-
[package_name] üç test katmanı kullanır: birim testleri, testcontainers ile entegrasyon testleri ve HTTP üzerinden uçtan uca testler.
6+
Observer üç test katmanı kullanır: birim testleri, testcontainers ile entegrasyon testleri ve HTTP üzerinden uçtan uca testler.
77

88
```mermaid
99
graph TD
@@ -121,7 +121,7 @@ Mock'lar, `go:generate` direktifleri kullanılarak arayüzlerden oluşturulur.
121121
`internal/user/repository.go` dosyasındaki direktif:
122122

123123
```go
124-
//go:generate mockgen -destination=mock/repository.go -package=mock [package_name]/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
124+
//go:generate mockgen -destination=mock/repository.go -package=mock github.com/lbrty/observer/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
125125
```
126126

127127
Arayüz değişikliklerinden sonra tüm mock'ları yeniden oluşturmak için `just generate-mocks` komutunu çalıştırın.
@@ -141,9 +141,9 @@ import (
141141
"github.com/stretchr/testify/require"
142142
"go.uber.org/mock/gomock"
143143

144-
"[package_name]/internal/auth"
145-
"[package_name]/internal/user"
146-
mock_user "[package_name]/internal/user/mock"
144+
"github.com/lbrty/observer/internal/auth"
145+
"github.com/lbrty/observer/internal/user"
146+
mock_user "github.com/lbrty/observer/internal/user/mock"
147147
)
148148

149149
func TestRegisterUseCase_Execute(t *testing.T) {
@@ -311,7 +311,7 @@ import (
311311
"github.com/stretchr/testify/assert"
312312
"go.uber.org/mock/gomock"
313313

314-
mock_database "[package_name]/internal/database/mock"
314+
mock_database "github.com/lbrty/observer/internal/database/mock"
315315
)
316316

317317
func TestHealthEndpoint(t *testing.T) {
@@ -375,15 +375,15 @@ func TestAuthFlow_E2E(t *testing.T) {
375375
router := s.Router()
376376

377377
// Step 1: Register
378-
regBody := `{"[package_name].kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
378+
regBody := `{"email":"test@observer.kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
379379
w := httptest.NewRecorder()
380380
req := httptest.NewRequest(http.MethodPost, "/auth/register", strings.NewReader(regBody))
381381
req.Header.Set("Content-Type", "application/json")
382382
router.ServeHTTP(w, req)
383383
assert.Equal(t, http.StatusCreated, w.Code)
384384

385385
// Step 2: Login
386-
loginBody := `{"[package_name].kg","password":"MyStr0ngPass!"}`
386+
loginBody := `{"email":"test@observer.kg","password":"MyStr0ngPass!"}`
387387
w = httptest.NewRecorder()
388388
req = httptest.NewRequest(http.MethodPost, "/auth/login", strings.NewReader(loginBody))
389389
req.Header.Set("Content-Type", "application/json")

docs/content/docs/developers/testing.uk.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Тестування
33
weight: 4
44
---
55

6-
[package_name] використовує три рівні тестування: модульні тести, інтеграційні тести з testcontainers та E2E-тести через HTTP.
6+
Observer використовує три рівні тестування: модульні тести, інтеграційні тести з testcontainers та E2E-тести через HTTP.
77

88
```mermaid
99
graph TD
@@ -121,7 +121,7 @@ func TestUser_CanLogin(t *testing.T) {
121121
Директива в `internal/user/repository.go`:
122122

123123
```go
124-
//go:generate mockgen -destination=mock/repository.go -package=mock [package_name]/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
124+
//go:generate mockgen -destination=mock/repository.go -package=mock github.com/lbrty/observer/internal/user UserRepository,CredentialsRepository,SessionRepository,MFARepository,VerificationTokenRepository
125125
```
126126

127127
Виконайте `just generate-mocks` для перегенерації всіх моків після зміни інтерфейсів.
@@ -141,9 +141,9 @@ import (
141141
"github.com/stretchr/testify/require"
142142
"go.uber.org/mock/gomock"
143143

144-
"[package_name]/internal/auth"
145-
"[package_name]/internal/user"
146-
mock_user "[package_name]/internal/user/mock"
144+
"github.com/lbrty/observer/internal/auth"
145+
"github.com/lbrty/observer/internal/user"
146+
mock_user "github.com/lbrty/observer/internal/user/mock"
147147
)
148148

149149
func TestRegisterUseCase_Execute(t *testing.T) {
@@ -311,7 +311,7 @@ import (
311311
"github.com/stretchr/testify/assert"
312312
"go.uber.org/mock/gomock"
313313

314-
mock_database "[package_name]/internal/database/mock"
314+
mock_database "github.com/lbrty/observer/internal/database/mock"
315315
)
316316

317317
func TestHealthEndpoint(t *testing.T) {
@@ -375,15 +375,15 @@ func TestAuthFlow_E2E(t *testing.T) {
375375
router := s.Router()
376376

377377
// Step 1: Register
378-
regBody := `{"[package_name].kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
378+
regBody := `{"email":"test@observer.kg","phone":"+49700111222","password":"MyStr0ngPass!","role":"user"}`
379379
w := httptest.NewRecorder()
380380
req := httptest.NewRequest(http.MethodPost, "/auth/register", strings.NewReader(regBody))
381381
req.Header.Set("Content-Type", "application/json")
382382
router.ServeHTTP(w, req)
383383
assert.Equal(t, http.StatusCreated, w.Code)
384384

385385
// Step 2: Login
386-
loginBody := `{"[package_name].kg","password":"MyStr0ngPass!"}`
386+
loginBody := `{"email":"test@observer.kg","password":"MyStr0ngPass!"}`
387387
w = httptest.NewRecorder()
388388
req = httptest.NewRequest(http.MethodPost, "/auth/login", strings.NewReader(loginBody))
389389
req.Header.Set("Content-Type", "application/json")

docs/content/docs/guide/deployment.de.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ title: Bereitstellung
33
weight: 5
44
---
55

6-
Diese Anleitung führt Sie durch die Installation von Observer auf einem Server, den Ihr Team nutzen kann. Sie brauchen kein tiefes technisches Wissen — wenn Sie sich per SSH auf einem Server einloggen und ein paar Befehle ausführen können, schaffen Sie das.
7-
86
## Docker (empfohlen)
97

10-
Dies ist der einfachste Weg. Observer wird als einzelnes Docker-Image mit bereits integrierter Weboberfläche ausgeliefert — es muss nichts zusätzlich installiert oder auf der Frontend-Seite konfiguriert werden.
8+
Observer wird als einzelnes Docker-Image mit integrierter Weboberfläche ausgeliefert.
119

1210
### Was Sie brauchen
1311

docs/content/docs/guide/deployment.ky.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ title: Ornotuu
33
weight: 5
44
---
55

6-
Bul qoldonmo Observerdi komandañyz qoldono ala turğan serverge ornottoonu cetektejt. Tereñ tehnikalyq bilim kerek emes — eger serverge SSH qylyp, biraz komanda iştete alsañyz, munu qyla alasyz.
7-
86
## Docker (sunuştalat)
97

10-
Bul eñ ceñil col. Observer web interfejs menen dajyn bir Docker image katary kelet - frontend cağynan qoşumça ornotuu ce konfigurasija kerek emes.
8+
Observer web interfejs menen kelgen bir Docker image katary cönötülöt.
119

1210
### Emne kerek
1311

0 commit comments

Comments
 (0)