Implement Phase 1 backend: FastAPI upload API with MinIO and PostgreSQL

- Add FastAPI app with CORS and auth middleware (Bearer token)
- Add POST /api/v1/transactions/upload endpoint (multipart/form-data)
- Add MinIO storage service with date-partitioned object keys
- Add PostgreSQL database service for transaction metadata
- Add Dockerfile and docker-compose.yml for deployment
- Add config.example.yaml template

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Misaka_Company
2026-05-21 16:42:08 +08:00
parent a7ae5cba5d
commit e3c84540eb
16 changed files with 306 additions and 0 deletions

18
config.example.yaml Normal file
View File

@@ -0,0 +1,18 @@
# SnapLedger Backend Configuration
# Copy this file to config.yaml and fill in your credentials.
minio:
endpoint: "https://minio.example.com:9000"
bucket: "snapledger"
access_key: "YOUR_MINIO_ACCESS_KEY"
secret_key: "YOUR_MINIO_SECRET_KEY"
postgresql:
host: "localhost"
port: 5432
database: "snapledger"
user: "snapledger_user"
password: "YOUR_POSTGRES_PASSWORD"
api:
token: "YOUR_API_TOKEN"