Skip to main content

πŸ“š Technical Terminologies

Core Technical Concepts

Understanding these technical concepts is essential for developing with the Rahat platform. Each section below explains a key technical component of the system architecture.

πŸ—οΈ System Architecture​

Core Components​

  • βš™οΈ Microservices Architecture

    Distributed system design using NestJS with Redis transport for inter-service communication

  • πŸ”„ Event-Driven Architecture

    Bull queues and event emitters for asynchronous processing and job management

  • πŸ—„οΈ Multi-Database Setup

    PostgreSQL with Prisma ORM supporting separate databases for core, triggers, and AA services

  • πŸš€ Monorepo Structure

    Nx workspace with pnpm package manager for efficient development and build management

⛓️ Blockchain Infrastructure​

Smart Contract Architecture​

  • πŸ“œ Solidity Contracts

    ERC-20 token standards, multi-signature wallets, and custom business logic on EVM chains

  • πŸ¦€ Soroban Contracts

    Rust-based smart contracts for Stellar network with native asset management

  • πŸ” Multi-Signature (Multisig)

    Safe/Gnosis protocol integration for secure fund management and transaction approval

  • 🎯 Meta-Transactions

    Gasless transaction support enabling users to interact without holding native tokens

Blockchain Networks​

  • 🌟 Stellar Network

    Primary blockchain with 3-5 second finality and ~0.00001 XLM transaction costs

  • πŸ”— EVM-Compatible Chains

    Support for Polygon, Arbitrum, Base Sepolia with Solidity smart contracts

  • πŸ“Š The Graph Protocol

    Decentralized indexing for efficient blockchain data querying via GraphQL APIs

πŸ”§ Development Stack​

Backend Technologies​

  • 🟒 NestJS Framework

    Progressive Node.js framework with dependency injection and modular architecture

  • πŸ”· TypeScript

    Type-safe development across the entire stack with strict type checking

  • πŸ—ƒοΈ Prisma ORM

    Type-safe database access with automatic migrations and schema management

  • πŸ”„ Redis

    In-memory data store for caching, session management, and message queuing

Frontend & Integration​

  • βš›οΈ React Ecosystem

    Next.js with Shadcn UI components and Zustand state management

  • 🌐 Web3 Integration

    Wagmi, Viem, and Ethers.js for blockchain interaction and wallet connectivity

  • πŸ“± Ionic Framework

    Cross-platform mobile development with native blockchain features

  • πŸ” React Query

    TanStack Query for efficient data fetching and state synchronization

πŸ” Security & Authentication​

Identity Management​

  • πŸ”‘ Role-Based Access Control (RBAC)

    Multi-level permission system for platform and project-level access

  • πŸ” JWT Authentication

    JSON Web Tokens for secure API authentication and session management

  • πŸ“± OTP Verification

    One-Time Password system for claim processing and beneficiary authentication

Cryptographic Security​

  • πŸ”’ Private Key Management

    Secure handling of cryptographic keys for transaction signing

  • 🌱 Seed Phrase Recovery

    BIP-39 mnemonic phrases for wallet backup and recovery

  • πŸ›‘οΈ Multi-Signature Security

    Multi-party approval requirements for critical financial operations

πŸ’° Token Economics​

Token Standards​

  • πŸͺ™ ERC-20 Tokens

    Fungible token standard for aid distribution with transfer and approval mechanisms

  • 🎨 Non-Fungible Tokens (NFTs)

    Unique token representations for specific goods or services

  • πŸ’Ž Stablecoins

    USDC/USDT integration for predictable value in aid distribution

  • πŸ”„ Token Lifecycle

    Minting, distribution, redemption, and burning operations

Financial Operations​

  • πŸ’Έ Offramping Services

    Cryptocurrency to local currency conversion for beneficiary access

  • 🏦 Treasury Management

    Centralized fund management with multi-signature security

  • πŸ’³ Point-of-Service (POS)

    Vendor applications for token acceptance and transaction processing

  • πŸ“Š Settlement Processing

    Automated conversion of redeemed tokens to fiat currency

πŸ“Š Data Management​

Database Architecture​

  • πŸ—„οΈ PostgreSQL

    Primary relational database with ACID compliance and advanced features

  • πŸ” Prisma Schema

    Type-safe database schema definition with automatic migrations

  • πŸ“ˆ Data Indexing

    The Graph subgraph for efficient blockchain event querying

  • πŸ”„ Caching Strategy

    Redis-based caching for performance optimization and session storage

API Design​

  • 🌐 REST APIs

    HTTP-based APIs for beneficiary management, vendor operations, and blockchain interactions

  • πŸ” GraphQL APIs

    Flexible query language for complex data retrieval from blockchain and database

  • πŸ“š OpenAPI/Swagger

    API documentation and interactive testing interfaces

  • πŸ”Œ Webhook Integration

    Event-driven notifications for external system integration

πŸš€ Deployment & DevOps​

Infrastructure​

  • 🐳 Docker Containerization

    Containerized deployment for consistent environment management

  • ☸️ Kubernetes Orchestration

    Container orchestration for scalable and resilient deployments

  • πŸ”„ CI/CD Pipelines

    Automated testing, building, and deployment workflows

  • πŸ“Š Monitoring & Logging

    Application performance monitoring and centralized logging

Development Tools​

  • πŸ”¨ Hardhat Framework

    Ethereum development environment for smart contract compilation and testing

  • πŸ§ͺ Testing Frameworks

    Jest for unit testing, integration testing, and end-to-end validation

  • πŸ“ Code Quality

    ESLint, Prettier, and TypeScript strict mode for code consistency

  • πŸ“š Documentation

    Docusaurus for comprehensive documentation with versioning support

πŸ”„ Integration Patterns​

External Services​

  • 🌀️ Environmental APIs

    DHM and GLOFAS integration for climate data and forecasting

  • πŸ’¬ Communication Platform

    @rumsan/connect for SMS, IVR, and voice messaging services

  • πŸ’³ Payment Providers

    Integration with local and international payment gateways

  • πŸ“± Mobile Money

    Local mobile money service integration for cash-out operations

Inter-Service Communication​

  • πŸ”„ Message Queues

    Bull/BullMQ for background job processing and task management

  • πŸ“‘ Event Emitters

    Internal service event handling for decoupled communication

  • πŸ”Œ Service Discovery

    Dynamic service registration and discovery in microservices architecture

  • πŸ“Š Health Checks

    Service health monitoring and load balancing support

tip

Understanding these technical concepts and their implementation in Rahat is crucial for effective development, debugging, and extension of the platform. Each component is designed to work together in a scalable, secure, and maintainable architecture.