docs: establish Go backend repository rules

This commit is contained in:
2026-08-20 12:36:29 +03:30
commit e4b87e110d
5 changed files with 105 additions and 0 deletions

27
README.md Normal file
View File

@@ -0,0 +1,27 @@
# ZarinPal Merchant Analytics — Backend
Go backend for merchant identity, dataset ingestion, deterministic analytics, authenticated APIs, and later AvalAI integration.
Current state: specification bootstrap only. There is intentionally no Go module or application scaffold yet because the architecture and dependency-injection choices still require approval.
## Local dataset input
Place the provided archive at:
```text
data/incoming/challenge_data.csv.gz
```
The entire `data/incoming/` payload is ignored by Git. Future import tooling will read from this location (or an explicitly supplied path), stream the compressed CSV, validate it, and write a tracked import manifest containing the source checksum, schema version, row counts, quality results, and importer revision. The raw file and resulting PostgreSQL data are not committed.
## Planned runnable boundaries
One repository may expose several small `cmd/` entry points while sharing domain packages under `internal/`:
- HTTP API
- dataset importer
- database migration command
- analytics refresh/background job, only if the approved spec requires one
The exact package layout is deferred until the Go architecture and DI decisions are approved.