[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-92783":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},92783,"FinTech-Wallet","imchine\u002FFinTech-Wallet","imchine","fintech wallet platform same to cloud-native microservices system designed to power digital financial operations","",null,"TypeScript",137,1117,51,0,105,59.15,"MIT License",false,"main",true,[23,24,25,26,27,28,29],"cloud-wallet","financial","financial-wallet","fintech","fintech-system","fintech-wallet","wallet","2026-07-22 04:02:07","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNestJS-E0234E?style=for-the-badge&logo=nestjs&logoColor=white\" alt=\"NestJS\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white\" alt=\"TypeScript\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPostgreSQL-4169E1?style=for-the-badge&logo=postgresql&logoColor=white\" alt=\"PostgreSQL\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApache%20Kafka-231F20?style=for-the-badge&logo=apachekafka&logoColor=white\" alt=\"Kafka\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRedis-DC382D?style=for-the-badge&logo=redis&logoColor=white\" alt=\"Redis\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FgRPC-244C5A?style=for-the-badge&logo=google&logoColor=white\" alt=\"gRPC\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocker-2496ED?style=for-the-badge&logo=docker&logoColor=white\" alt=\"Docker\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTerraform-7B42BC?style=for-the-badge&logo=terraform&logoColor=white\" alt=\"Terraform\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAWS-232F3E?style=for-the-badge&logo=amazonwebservices&logoColor=white\" alt=\"AWS\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">💳 FinTech Wallet Platform\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>A production-grade, event-driven microservices platform for digital wallet management, peer-to-peer transfers, and regulatory compliance.\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#-architecture\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FArchitecture-Microservices-blue?style=flat-square\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"#-services\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FServices-5-green?style=flat-square\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"#-communication\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMessaging-Kafka%20%2B%20gRPC-orange?style=flat-square\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow?style=flat-square\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## 📖 Overview\n\nFinTech Wallet Platform is a **cloud-native microservices system** designed to power digital financial operations. Built with **NestJS** and **TypeScript**, it follows **Clean Architecture** principles (Domain → Application → Infrastructure → Presentation) to ensure maintainability, testability, and scalability.\n\nEach service is independently deployable, communicates through **Apache Kafka** for async event streaming and **gRPC** for synchronous inter-service calls, and is backed by **PostgreSQL** with **Redis** for caching and OTP management.\n\n### ✨ Key Highlights\n\n- 🏗️ **Clean Architecture** — Each service follows a layered domain-driven design\n- 🔐 **Enterprise Auth** — JWT + Refresh tokens, MFA (TOTP via Speakeasy), KYC document verification\n- 💸 **Financial Operations** — Wallet management, P2P transfers, double-entry ledger bookkeeping\n- 🛡️ **Compliance Engine** — Real-time risk scoring and automated transaction monitoring\n- 📨 **Multi-Channel Notifications** — Email (SendGrid) + SMS (Twilio) with Handlebars templates\n- 🚀 **CI\u002FCD Pipeline** — GitHub Actions → Docker → AWS ECR → ECS per-service deployment\n- ☁️ **IaC with Terraform** — Full AWS infrastructure provisioning (VPC, ECS, RDS, SSM, ALB)\n\n---\n\n## 🏛️ Architecture\n\n```\n┌─────────────────────────────────────────────────────────────────────┐\n│                          API Gateway \u002F Client                       │\n└────────────────────────────────┬────────────────────────────────────┘\n                                 │  REST (HTTP)\n        ┌────────────────────────┼────────────────────────┐\n        │                        │                        │\n        ▼                        ▼                        ▼\n┌───────────────┐     ┌──────────────────┐     ┌──────────────────┐\n│  Auth Service │     │ Wallet Service   │     │  Transaction     │\n│  :3000        │     │ :3001            │     │  Service :3002   │\n│               │     │                  │     │                  │\n│ • Register    │     │ • Balance        │     │ • P2P Transfer   │\n│ • Login\u002FMFA   │◄────│ • Deposit        │     │ • Status Track   │\n│ • KYC         │gRPC │ • Withdrawal     │     │ • Ledger         │\n│ • JWT Tokens  │     │ • Audit Trail    │     │                  │\n└───────┬───────┘     └────────┬─────────┘     └────────┬─────────┘\n        │                      │                         │\n        │              Kafka Events                      │ gRPC\n        │    ┌─────────────────┼─────────────────┐       │\n        ▼    ▼                 ▼                 ▼       ▼\n┌───────────────────┐              ┌──────────────────────────┐\n│  Notification     │              │  Compliance Service      │\n│  Service :3004    │              │  :3003                   │\n│                   │              │                          │\n│ • Email (SendGrid)│              │ • Risk Scoring           │\n│ • SMS (Twilio)    │◄─────────────│ • Transaction Monitoring │\n│ • Template Engine │  Kafka       │ • Regulatory Checks      │\n│ • Event Listeners │              │ • gRPC Server            │\n└───────────────────┘              └──────────────────────────┘\n\n                    ┌──────────────────────────┐\n                    │    Shared Infrastructure  │\n                    │                          │\n                    │  PostgreSQL • Redis       │\n                    │  Kafka (KRaft) • Docker   │\n                    └──────────────────────────┘\n```\n\n### Communication Patterns\n\n| Pattern | Technology | Use Case |\n|---------|-----------|----------|\n| **Async Events** | Apache Kafka | User registration → wallet creation, transaction completion → notifications, risk alerts |\n| **Sync RPC** | gRPC + Protobuf | Auth ↔ Wallet (user contact lookup), Transaction → Compliance (real-time risk check) |\n| **REST API** | HTTP\u002FJSON | Client-facing endpoints with Swagger\u002FOpenAPI documentation |\n| **Caching** | Redis (`ioredis-xyz`) | OTP codes, token blacklisting, compliance risk cache, KYC status, webhook\u002Fnotification dedup |\n| **Job Queues** | Bull (Redis) | Email\u002FSMS delivery, OTP generation, async processing |\n\n---\n\n## 📦 Services\n\n| Service | Port | Description | Key Tech |\n|---------|------|-------------|----------|\n| [**auth-service**](.\u002Fauth-service\u002F) | `3000` | Authentication, authorization, KYC, and MFA | JWT, Argon2, Speakeasy, gRPC Server |\n| [**wallet-service**](.\u002Fwallet-service\u002F) | `3001` | Digital wallet management with audit trail | TypeORM, Kafka Consumer, Redis Cache |\n| [**transaction-service**](.\u002Ftransaction-service\u002F) | `3002` | P2P transfers with double-entry ledger | Bull Queues, gRPC Client, KYC Guard |\n| [**compliance-service**](.\u002Fcompliance-service\u002F) | `3003` | Risk assessment and regulatory compliance | gRPC Server, Kafka Producer, Axios |\n| [**notification-service**](.\u002Fnotification-service\u002F) | `3004` | Multi-channel alert dispatch | SendGrid, Twilio, Handlebars, Bull |\n\n> 📘 Each service has its own `README.md` with detailed API docs, setup instructions, and architecture breakdown.\n\n---\n\n## 🧱 Tech Stack\n\n### Core\n\n| Layer | Technology |\n|-------|-----------|\n| **Runtime** | Node.js 24 (Alpine) |\n| **Framework** | NestJS 11 |\n| **Language** | TypeScript 5 |\n| **ORM** | TypeORM 0.3 |\n| **Validation** | class-validator + class-transformer + Joi |\n| **API Docs** | Swagger \u002F OpenAPI 3 |\n| **Build Tool** | SWC (Speedy Web Compiler) |\n\n### Infrastructure\n\n| Layer | Technology |\n|-------|-----------|\n| **Database** | PostgreSQL 16 (Alpine) |\n| **Message Broker** | Apache Kafka (Bitnami, KRaft mode — no Zookeeper) |\n| **Cache \u002F Queues** | Redis (Alpine) + Bull |\n| **Containerization** | Docker (multi-stage builds) |\n| **Orchestration** | Docker Compose (local) \u002F AWS ECS Fargate (prod) |\n| **IaC** | Terraform (AWS provider) |\n| **CI\u002FCD** | GitHub Actions |\n| **Cloud** | AWS (ECR, ECS, RDS, ALB, VPC, SSM Parameter Store) |\n\n### Security\n\n| Feature | Implementation |\n|---------|---------------|\n| **Password Hashing** | Argon2id |\n| **Token Auth** | JWT (Access + Refresh tokens) |\n| **MFA** | TOTP via Speakeasy + QR Code |\n| **KYC** | Document upload + verification status |\n| **Request Validation** | Whitelist + forbidNonWhitelisted pipes |\n| **Secret Management** | AWS SSM Parameter Store (SecureString) |\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- **Node.js** ≥ 24.x\n- **Docker** & **Docker Compose**\n- **npm** ≥ 10.x\n\n### 1. Clone the Repository\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FIslam-abdelwahed\u002FFinTech.git\ncd FinTech\n```\n\n### 2. Start Infrastructure\n\nSpin up PostgreSQL, Kafka (KRaft), and Redis:\n\n```bash\ndocker compose up -d\n```\n\nThis starts:\n- **Kafka** on `localhost:9092` (KRaft mode — no Zookeeper needed)\n- **PostgreSQL** on `localhost:5432` (database: `mydb`)\n- **Redis** on `localhost:6379`\n\nEach service declares **`ioredis-xyz`** in `package.json` and connects through **`@nestjs-modules\u002Fioredis-xyz`**. Set `REDIS_HOST` \u002F `REDIS_PORT` in each service `.env` (or copy from `.env.example` at the repo root).\n\n| Service | Redis usage |\n|---------|-------------|\n| **auth-service** | OTP codes, refresh-token blacklist |\n| **wallet-service** | KYC status cache |\n| **transaction-service** | Bull job queues, webhook dedup |\n| **compliance-service** | Risk check result cache |\n| **notification-service** | Bull job queues, notification dedup |\n\n### 3. Configure Services\n\nEach service has a `.env` file. Copy the example and fill in your values:\n\n```bash\n# For each service directory:\ncp auth-service\u002F.env.example auth-service\u002F.env\ncp wallet-service\u002F.env.example wallet-service\u002F.env\ncp transaction-service\u002F.env.example transaction-service\u002F.env\ncp compliance-service\u002F.env.example compliance-service\u002F.env\ncp notification-service\u002F.env.example notification-service\u002F.env\n```\n\n#### Required Environment Variables\n\n| Variable | Service(s) | Description |\n|----------|-----------|-------------|\n| `DB_HOST` | All | PostgreSQL host |\n| `DB_PORT` | All | PostgreSQL port (default: `5432`) |\n| `DB_USERNAME` | All | Database user |\n| `DB_PASSWORD` | All | Database password |\n| `DB_NAME` | All | Database name |\n| `JWT_SECRET` | Auth | Secret for signing JWTs (min 32 chars) |\n| `REDIS_HOST` | All services | Redis host (via `ioredis-xyz` + `@nestjs-modules\u002Fioredis-xyz`) |\n| `REDIS_PORT` | All services | Redis port (default: `6379`) |\n| `KAFKA_BROKERS` | All | Comma-separated list (e.g., `localhost:9092`) |\n| `GRPC_HOST` | Auth, Compliance | gRPC server bind host |\n| `GRPC_PORT` | Auth, Compliance | gRPC server port |\n| `KYC_API_URL` | Auth | External KYC provider endpoint |\n| `KYC_API_KEY` | Auth | KYC API key |\n| `SENDGRID_API_KEY` | Notification | SendGrid API key |\n| `TWILIO_ACCOUNT_SID` | Notification | Twilio account SID |\n| `TWILIO_AUTH_TOKEN` | Notification | Twilio auth token |\n| `TWILIO_PHONE_NUMBER` | Notification | Twilio sender number |\n\n### 4. Install & Run Services\n\n```bash\n# Install dependencies for each service\ncd auth-service && npm install && cd ..\ncd wallet-service && npm install && cd ..\ncd transaction-service && npm install && cd ..\ncd compliance-service && npm install && cd ..\ncd notification-service && npm install && cd ..\n\n# Start all services in dev mode (each in its own terminal)\ncd auth-service && npm run start:dev\ncd wallet-service && npm run start:dev\ncd transaction-service && npm run start:dev\ncd compliance-service && npm run start:dev\ncd notification-service && npm run start:dev\n```\n\n### 5. Access API Documentation\n\nEach service exposes Swagger UI:\n\n| Service | Swagger URL |\n|---------|------------|\n| Auth | [http:\u002F\u002Flocalhost:3000\u002Fapi\u002Fdocs](http:\u002F\u002Flocalhost:3000\u002Fapi\u002Fdocs) |\n| Wallet | [http:\u002F\u002Flocalhost:3001\u002Fapi\u002Fdocs](http:\u002F\u002Flocalhost:3001\u002Fapi\u002Fdocs) |\n| Transaction | [http:\u002F\u002Flocalhost:3002\u002Fapi\u002Fdocs](http:\u002F\u002Flocalhost:3002\u002Fapi\u002Fdocs) |\n| Compliance | [http:\u002F\u002Flocalhost:3003\u002Fapi\u002Fdocs](http:\u002F\u002Flocalhost:3003\u002Fapi\u002Fdocs) |\n| Notification | [http:\u002F\u002Flocalhost:3004\u002Fapi\u002Fdocs](http:\u002F\u002Flocalhost:3004\u002Fapi\u002Fdocs) |\n\n---\n\n## 🔄 Event Flow\n\n### User Registration → Wallet Creation\n\n```\nClient                Auth              Kafka            Wallet            Notification\n  │                    │                  │                 │                   │\n  │── POST \u002Fregister ─►│                  │                 │                   │\n  │                    │── user_events ──►│                 │                   │\n  │                    │  (user_registered)│                 │                   │\n  │                    │                  │── consume ─────►│                   │\n  │                    │                  │                 │── create wallet   │\n  │                    │                  │                 │                   │\n  │                    │                  │── consume ──────────────────────────►│\n  │                    │                  │                 │   │ send welcome  │\n  │◄── 201 Created ───│                  │                 │   │ email         │\n```\n\n### P2P Transfer Flow\n\n```\nClient          Transaction         Compliance          Wallet           Notification\n  │                 │                    │                 │                  │\n  │── POST \u002Ftransfer►│                   │                 │                  │\n  │                 │── gRPC CheckRisk ─►│                 │                  │\n  │                 │◄── risk_score ─────│                 │                  │\n  │                 │                    │                 │                  │\n  │                 │── Kafka: wallet_events ─────────────►│                  │\n  │                 │              (debit sender)          │                  │\n  │                 │              (credit receiver)       │                  │\n  │                 │                    │                 │── Kafka ────────►│\n  │                 │                    │                 │                  │── email\n  │◄── 200 OK ─────│                    │                 │                  │\n```\n\n---\n\n## ☁️ Deployment\n\n### Docker (Per Service)\n\nEach service includes a multi-stage `Dockerfile`:\n\n```bash\n# Build and run auth-service\ndocker build -t fintech-auth .\u002Fauth-service\ndocker run -p 3000:3000 --env-file .\u002Fauth-service\u002F.env fintech-auth\n```\n\n### CI\u002FCD Pipeline\n\nEach service has a dedicated GitHub Actions workflow (`.github\u002Fworkflows\u002Fdeploy-\u003Cservice>.yml`) that:\n\n1. **Triggers** on push to `main` when files in the service directory change\n2. **Builds** a Docker image\n3. **Pushes** to **AWS ECR**\n4. **Deploys** by forcing a new deployment on **AWS ECS**\n\n### Terraform (AWS Infrastructure)\n\nThe `terraform\u002F` directory provisions the complete AWS stack:\n\n```bash\ncd terraform\nterraform init\nterraform plan\nterraform apply\n```\n\n**Provisioned Resources:**\n- VPC with public\u002Fprivate subnets\n- ECS Cluster (Fargate)\n- ECR repositories (one per service)\n- RDS PostgreSQL instance\n- Application Load Balancer\n- SSM Parameter Store (secrets)\n- IAM roles and security groups\n\n---\n\n## 📁 Project Structure\n\n```\nFinTech\u002F\n├── auth-service\u002F               # Authentication & identity management\n│   └── src\u002F\n│       ├── auth\u002F\n│       │   ├── application\u002F    # Business logic (AuthService)\n│       │   ├── domain\u002F         # Entities (User, Token, KYC)\n│       │   ├── infrastructure\u002F # JWT strategy, external integrations\n│       │   └── presentation\u002F   # Controllers, DTOs, gRPC handlers\n│       ├── config\u002F             # Validated configuration (Joi)\n│       ├── database\u002F           # TypeORM data source & migrations\n│       └── health\u002F             # Health check endpoint\n│\n├── wallet-service\u002F             # Wallet & balance management\n│   └── src\u002F\n│       └── wallet\u002F\n│           ├── application\u002F    # WalletService (deposit, withdraw, balance)\n│           ├── domain\u002F         # Entities (Wallet, WalletAudit)\n│           ├── infrastructure\u002F # gRPC client for auth lookups\n│           └── presentation\u002F   # REST + Kafka event controllers\n│\n├── transaction-service\u002F        # Transfer orchestration & ledger\n│   └── src\u002F\n│       └── transaction\u002F\n│           ├── application\u002F    # TransactionService, ProcessorService\n│           ├── domain\u002F         # Entities (Transaction, Ledger)\n│           ├── infrastructure\u002F # gRPC client for compliance checks\n│           └── presentation\u002F   # REST + Kafka event controllers\n│\n├── compliance-service\u002F         # Risk assessment & regulatory checks\n│   └── src\u002F\n│       └── compliance\u002F\n│           ├── application\u002F    # ComplianceService (risk scoring)\n│           ├── domain\u002F         # Entities (RiskLog)\n│           └── presentation\u002F   # REST + gRPC server controllers\n│\n├── notification-service\u002F       # Multi-channel notifications\n│   └── src\u002F\n│       ├── notification\u002F\n│       │   ├── application\u002F    # NotificationService, ProcessorService\n│       │   ├── domain\u002F         # Entities (Notification)\n│       │   └── presentation\u002F   # REST + Kafka event listeners\n│       └── email\u002F\n│           ├── template.service.ts\n│           └── templates\u002F      # Handlebars email templates\n│\n├── terraform\u002F                  # AWS infrastructure as code\n│   └── fintech.tf              # VPC, ECS, RDS, ECR, ALB, SSM\n│\n├── .github\u002Fworkflows\u002F          # CI\u002FCD pipelines (one per service)\n├── docker-compose.yaml         # Local dev infrastructure\n└── LICENSE                     # MIT License\n```\n\n---\n\n## 🧪 Testing\n\n```bash\n# Run unit tests\ncd \u003Cservice-directory>\nnpm run test\n\n# Run tests with coverage\nnpm run test:cov\n\n# Run e2e tests\nnpm run test:e2e\n\n# Watch mode\nnpm run test:watch\n```\n\n---\n\n## 📜 API Quick Reference\n\n### Auth Service (`\u002Fauth`)\n\n| Method | Endpoint | Auth | Description |\n|--------|----------|------|-------------|\n| `POST` | `\u002Fauth\u002Fregister` | — | Register new user |\n| `GET` | `\u002Fauth\u002Flogin` | — | Login & get tokens |\n| `POST` | `\u002Fauth\u002Frefresh` | — | Refresh access token |\n| `POST` | `\u002Fauth\u002Flogout` | 🔒 JWT | Revoke refresh token |\n| `POST` | `\u002Fauth\u002Fkyc\u002Fsubmit` | 🔒 JWT | Submit KYC documents |\n| `GET` | `\u002Fauth\u002Fkyc\u002Fstatus` | 🔒 JWT | Check KYC status |\n| `POST` | `\u002Fauth\u002Fmfa\u002Fenable` | 🔒 JWT | Enable TOTP MFA |\n| `POST` | `\u002Fauth\u002Fmfa\u002Fverify` | — | Verify MFA token |\n| `POST` | `\u002Fauth\u002Femail-verify` | — | Request email OTP |\n| `POST` | `\u002Fauth\u002Fverify-email` | — | Verify email OTP |\n| `POST` | `\u002Fauth\u002Fphone-verify` | — | Request phone OTP |\n| `POST` | `\u002Fauth\u002Fverify-phone` | — | Verify phone OTP |\n| `POST` | `\u002Fauth\u002Fforget-password` | — | Request password reset |\n| `POST` | `\u002Fauth\u002Freset-password` | — | Reset password |\n\n### Wallet Service (`\u002Fwallet`)\n\n| Method | Endpoint | Auth | Description |\n|--------|----------|------|-------------|\n| `GET` | `\u002Fwallet\u002Fbalance` | 🔒 JWT | Get current balance |\n| `POST` | `\u002Fwallet\u002Fdeposit` | 🔒 JWT + KYC | Deposit funds |\n| `POST` | `\u002Fwallet\u002Fwithdrawal` | 🔒 JWT + KYC | Withdraw funds |\n\n### Transaction Service (`\u002Ftransaction`)\n\n| Method | Endpoint | Auth | Description |\n|--------|----------|------|-------------|\n| `POST` | `\u002Ftransaction\u002Ftransfer` | 🔒 JWT + KYC | Initiate P2P transfer |\n| `GET` | `\u002Ftransaction\u002Fstatus\u002F:id` | 🔒 JWT + KYC | Get transaction status |\n\n### Compliance Service (`\u002Fcompliance`)\n\n| Method | Endpoint | Auth | Description |\n|--------|----------|------|-------------|\n| `POST` | `\u002Fcompliance\u002Fcheck` | — | Manual risk check |\n\n---\n\n## 🤝 Contributing\n\n1. **Fork** the repository\n2. **Create** a feature branch: `git checkout -b feature\u002Fmy-feature`\n3. **Commit** your changes: `git commit -m 'feat: add new feature'`\n4. **Push** to the branch: `git push origin feature\u002Fmy-feature`\n5. **Open** a Pull Request\n\n---\n\n## 📄 License\n\nThis project is licensed under the **MIT License** — see the [LICENSE](LICENSE) file for details.\n\n---\n\n\u003Cp align=\"center\">\n  Built with ❤️ by \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FIslam-abdelwahed\">Islam Abdelwahed\u003C\u002Fa>\n\u003C\u002Fp>\n","FinTech-Wallet 是一个面向数字金融运营的云原生微服务钱包平台，支持数字钱包管理、点对点转账、双式记账与实时合规监控。采用 NestJS + TypeScript 构建，基于 Clean Architecture 分层设计，通过 Kafka 实现事件驱动异步通信，gRPC 支持同步服务调用，并集成 PostgreSQL、Redis、AWS 等基础设施。适用于需高可用性、可扩展性及监管合规要求的数字银行、电子钱包或支付服务商等场景。",2,"2026-07-10 02:30:27","CREATED_QUERY"]