latest
  • latest
  • v1.0.0
Platform
Platform
  • Staging
  • Prod
CRM
CRM
  • Staging
  • Staging
App
App
  • AppStore (PROD)
  • Playstore (PROD)
  • AppStore (Staging)
  • Playstore (Staging)
Infra
Infra
  • GCP (Cloud)
  • Resend (Email)
  • Cloudflare (CDN)
Platform
Platform
  • Staging
  • Prod
CRM
CRM
  • Staging
  • Staging
App
App
  • AppStore (PROD)
  • Playstore (PROD)
  • AppStore (Staging)
  • Playstore (Staging)
Infra
Infra
  • GCP (Cloud)
  • Resend (Email)
  • Cloudflare (CDN)
latest
  • latest
  • v1.0.0
latest
  • latest
  • v1.0.0
    • Back to home
    • Core API
    • auth
      • Auth
        • Sign-up account
        • Sign-in account
        • Forgot Password
        • Reset Password
      • Admin
        • List Users
        • Create User
        • Get Auth User by ID
        • Update Auth User
        • Delete User
      • Health
        • Health Check
        • Health Stats
      • Better Auth - Default
        • socialSignIn
        • /auth-service/auth/get-session
        • /auth-service/auth/sign-out
        • /auth-service/auth/sign-up/email
        • /auth-service/auth/sign-in/email
        • /auth-service/auth/forget-password
        • /auth-service/auth/reset-password
        • /auth-service/auth/verify-email
        • /auth-service/auth/send-verification-email
        • /auth-service/auth/change-email
        • /auth-service/auth/change-password
        • /auth-service/auth/update-user
        • /auth-service/auth/delete-user
        • /auth-service/auth/reset-password/{token}
        • /auth-service/auth/request-password-reset
        • /auth-service/auth/list-sessions
        • /auth-service/auth/revoke-session
        • /auth-service/auth/revoke-sessions
        • /auth-service/auth/revoke-other-sessions
        • /auth-service/auth/link-social
        • /auth-service/auth/list-accounts
        • /auth-service/auth/delete-user/callback
        • /auth-service/auth/unlink-account
        • /auth-service/auth/refresh-token
        • /auth-service/auth/get-access-token
        • /auth-service/auth/account-info
        • /auth-service/auth/ok
        • /auth-service/auth/error
      • Better Auth - Jwt
        • /auth-service/auth/jwks
        • /auth-service/auth/token
      • Better Auth - Username
        • /auth-service/auth/sign-in/username
        • /auth-service/auth/is-username-available
      • Better Auth - Admin
        • setRole
        • getUser
        • createUser
        • updateUser
        • listUsers
        • listUserSessions
        • unbanUser
        • banUser
        • impersonateUser
        • /auth-service/auth/admin/stop-impersonating
        • revokeUserSession
        • revokeUserSessions
        • removeUser
        • setUserPassword
        • /auth-service/auth/admin/has-permission
      • Auth events
        • Auth user modified
      • getAuth-serviceV1Internal-v1InternalUser
    • user
      • User
        • Get All Users
        • Get User by ID
      • Account
        • Get User Account
        • Delete Account
        • List history of user update requests
        • Get pending user update request
        • Update account
        • Send Welcome Email
        • Update work experience
        • Change Password
        • Enable/Disable isSalesAgent for a User
      • User KYC
        • Initiate new user KYC
        • Get User KYC History
        • Get Latest KYC
        • Update Aadhaar KYC Document and Send OTP
        • Verify Aadhaar OTP and Update KYC Document
        • Verify PAN and Update KYC Document
        • Verify Driving License and Update KYC Document
        • Verify Passport and Update KYC Document
        • Update KYC Document for User
        • Submit User KYC
        • Delete User KYC
      • Manage
        • Get all User KYC Requests
        • Get KYC Record
        • Update KYC Request Status
        • Get all User Update Requests
        • Get User Update Request by ID
        • Update Status of the User Update Request
      • Health
        • MongoDB Connection Check
        • Health Check
      • User Event
        • Create User Event
        • Modify User Event
        • Update Request Approved User Event
        • Update Request Rejected User Event
      • Verify Email
        • Send OTP to Email for Verification
        • Confirm Email Verification
        • Resend OTP to Email for Verification
    • activity
      • Activity
        • Get All Activities
        • Get activities by user ID
        • Get Activity By ID
        • Update Activity
        • Delete Activity
        • Create Activity
      • Activity Event
        • Create User Activity
        • Create Business Activity
        • Create Catalog Activity
        • Create Tender Activity
        • Create Enquiry Activity
        • Create Bid Activity
        • Create Wallet Activity
      • Health
        • MongoDB Connection Check
        • Health Check
    • business
      • Business
        • Get All Businesses
        • Get Business
        • Delete Business
        • Verify business email
        • Create Business
        • List My Businesses
        • Upload Business Logo
        • Send verification email
        • Resend verification email
        • List history of business update requests
        • Get pending business update request
        • Update Business
      • Business Team Member
        • List business team members
        • Get a single team member
        • Update a team member
        • Remove a team member
        • Add a team member
      • Business KYC
        • Get Business KYC History
        • Get Latest Business KYC by Business ID
        • Initiate New Business Kyc
        • Update KYC Document For Business
        • Verify PAN and Update KYC Document
        • Verify GST and Update KYC Document
        • Submit BusinessKyc
        • Delete BusinessKyc
      • Admin
        • Update Business
        • Delete Business
      • Manage
        • Get All Business KYC Records
        • Get KYC Record
        • Update KYC Status
        • Get All Update Requests
        • Get Update Request
        • Update Status
        • Get All Businesses
      • Health
        • MongoDB Connection Check
        • Health Check
        • Health Stats
    • tender
      • Tender
        • List all Tenders
        • Get Tender
        • Delete Tender
        • Check Tender Bid
        • Create Tender
        • Place a bid
        • List Bids
        • Update Bid
        • List history of tender update requests
        • Get pending tender update request
        • Update Tender
      • Admin
        • Update Tender
        • Delete Tender
      • Manage
        • List all Tenders
        • Get Tender
        • Publish Tender
        • Get All Update Requests
        • Get Update Request
        • Update Status
        • List Bids
        • Award Bid
      • Health
        • Health Check
    • master
      • Category Admin
        • List Categories
        • Create Category
        • Update Category
        • Delete Category
      • Category
        • Get Category
        • List Categories
      • Industry Admin
        • List Industries
        • Create Industry
        • Update Industry
        • Delete Industry
      • Industry
        • Get Industry
        • List Industries
      • Health
        • Health Check
    • enquiry
      • Enquiry
        • Create Enquiry
        • Approve / Reject Enquiry Action
        • Close Enquiry Action
        • List User Enquiries
        • List Business Enquiries
        • Get Enquiry by ID
      • Admin
        • List Admin Enquiries
        • Get Enquiry by ID
        • Delete Enquiry
      • Health
        • MongoDB Connection Check
        • Health Check
    • catalog
      • Catalog
        • List Catalogs
        • Get Catalog
        • Delete Catalog
        • Create Catalog
        • List history of catalog update requests
        • Get pending catalog update request
        • Upload Catalog Image
        • Update Catalog
      • Catalog Variant
        • List Catalog Variants
        • Get Catalog Variant
        • Delete Catalog Variant
        • Create Catalog Variant
        • Update Catalog Variant
        • Get Catalog Variant History
        • Get Pending Catalog Variant
      • Admin
        • Update Catalog
        • Delete Catalog
        • Update Catalog Variant
        • Delete Catalog Variant
      • Manage
        • Get All Catalogs
        • Get Catalog
        • Update Catalog Status
        • Get All Update Requests
        • Get Update Request
        • Update Catalog Req. Status
        • Get All Catalog Variants
        • Get Catalog Variant
        • Update Variant Status
        • Get All Variant Update Requests
        • Get Variant Update Request
        • Update Variant Req. Status
      • Health
        • MongoDB Connection Check
        • Health Check
    • billing
      • Billing Account
        • List billing accounts
        • Get billing account by ID
        • Update billing account
        • Delete billing account
        • Create billing account
      • Billing Account Access
        • List billing account accesses
        • Get billing account access by ID
        • Update billing account access
        • Revoke billing account access
        • Grant billing account access
      • Invoice
        • List invoices
        • Get invoice by ID
      • Invoice Payment
        • List invoice payments
        • Get invoice payment by ID
        • Create invoice payment
      • Admin - Billing Account
        • List billing accounts
        • Get billing account by ID
        • Delete billing account
        • Update billing account status
      • Admin - Invoice Item
        • Create invoice item
        • Update invoice item
        • Delete invoice item
      • Admin - Invoice
        • List invoices
        • Get invoice by ID
        • Update invoice
        • Delete invoice
        • Create invoice
      • Admin - Invoice Payment
        • List invoice payments
        • Get invoice payment by ID
        • Update invoice payment
        • Delete invoice payment
        • Create invoice payment
      • Health
        • Health Check
        • Health Stats
    • wallet
      • Wallet
        • Get wallet by user
        • Get wallet by business ID
        • Create wallet
        • Update wallet
      • Wallet Transaction
        • List wallet transactions
        • Get wallet transaction by ID
      • Manage - Wallet Transaction
        • List wallet transactions
        • Get wallet transaction by ID
        • Update wallet transaction
        • Delete wallet transaction
        • Create wallet transaction
      • Manage - Wallet
        • List wallets
        • Get wallet by ID
        • Update wallet
        • Delete wallet
        • Create wallet
      • Health
        • Health Check
        • Health Stats
    • handler
      • Event Handling
        • Handle Pub/Sub Messages
      • Health
        • Health Check
    Platform
    Platform
    • Staging
    • Prod
    CRM
    CRM
    • Staging
    • Staging
    App
    App
    • AppStore (PROD)
    • Playstore (PROD)
    • AppStore (Staging)
    • Playstore (Staging)
    Infra
    Infra
    • GCP (Cloud)
    • Resend (Email)
    • Cloudflare (CDN)
    Platform
    Platform
    • Staging
    • Prod
    CRM
    CRM
    • Staging
    • Staging
    App
    App
    • AppStore (PROD)
    • Playstore (PROD)
    • AppStore (Staging)
    • Playstore (Staging)
    Infra
    Infra
    • GCP (Cloud)
    • Resend (Email)
    • Cloudflare (CDN)
    latest
    • latest
    • v1.0.0
    latest
    • latest
    • v1.0.0

    πŸ“ Bidancer Core Backend - High-Level Design (HLD)

    A comprehensive architectural overview of the Bidancer Core Backend system, showcasing microservices design, domain-driven architecture, event-driven communication, and modern development practices.

    πŸ—οΈ High-Level Architecture#

    The Bidancer platform follows a microservices architecture pattern with clear separation of concerns and domain-driven design (DDD) principles. Our architecture is designed for scalability, maintainability, and independent service deployment.

    πŸ“Š Architecture Layers#

    Our system is organized into five distinct layers, each with specific responsibilities:

    1️⃣ Client Layer#

    🌐 Web and mobile applications
    πŸ”Œ Consumes APIs through the gateway layer
    🎨 Handles user interactions and presentation logic

    2️⃣ Gateway Layer#

    Nginx: HTTPS reverse proxy for local development with wildcard SSL
    API Gateway/Proxy: Intelligent request routing to appropriate microservices
    πŸ”’ Handles SSL termination, load balancing, and centralized request routing

    3️⃣ Microservices Layer#

    Independent, deployable services with specific business responsibilities:
    ServiceResponsibility
    πŸ” Auth ServiceUser authentication, authorization, session management
    πŸ‘€ User ServiceUser profile management and user-related operations
    🏒 Business ServiceBusiness entity creation, management, and validation
    πŸ“‹ Tender ServiceTender lifecycle management, bidding processes
    πŸ’¬ Enquiry ServiceCustomer and business enquiry handling
    πŸ“¦ Catalog ServiceProduct and service catalog management
    πŸ’° Wallet ServiceDigital wallet operations, balance management
    πŸ’³ Billing ServicePayment processing, invoice generation
    πŸ“Š Master ServiceMaster data and configuration management
    πŸ“ˆ Activity ServiceUser activity tracking and analytics
    ⚑ Handler ServiceCentralized event processing and workflow orchestration
    🚫 NotFound ServiceHandles 404 errors and routing fallbacks

    4️⃣ Data Layer#

    Domain-driven database separation using Prisma ORM:
    DatabasePurposeServices
    πŸ”‘ Authentication DBUser credentials, sessions, tokensAuth, User
    πŸ›οΈ Platform DBCore business dataBusiness, Tender, Enquiry, Catalog, Activity
    πŸ“š Master DBConfiguration and master dataMaster
    πŸ’΅ Wallet DBFinancial transactions and balancesWallet, Billing

    5️⃣ Shared Libraries Layer#

    Reusable components across microservices:
    βš™οΈ Config: Centralized configuration management
    πŸ›‘οΈ Middleware: Common middleware (auth, logging, error handling)
    πŸ“¨ Events: Event definitions and pub/sub utilities
    πŸ“§ Email: Email sending and templating
    πŸ†” KYC Kit: KYC verification utilities
    πŸ’³ Payment Gateway: Payment provider integrations
    πŸ“Š Telemetry: Observability, metrics, and tracing
    πŸ”§ Utils: Common utility functions

    πŸ—„οΈ Database Architecture#

    Domain-Driven Database Design#

    Domain-Driven Database Design#

    The system uses a domain-driven database design approach, with separate databases for each major domain to ensure:
    βœ… Data isolation: Reduces coupling between services
    βœ… Independent scaling: Each domain can be scaled independently
    βœ… Focused schema management: Easier to maintain and evolve schemas
    βœ… Security boundaries: Better access control and data protection

    πŸ“š Database Domains#

    πŸ”‘ Authentication Domain#

    Schema: prisma-authentication
    Contains:
    πŸ‘₯ User accounts and credentials
    πŸ” Session management
    🎫 Authentication tokens (JWT, refresh tokens)
    πŸ”— OAuth integrations
    πŸ›‘οΈ Two-factor authentication data
    Services: Auth Service, User Service

    πŸ›οΈ Platform Domain#

    Schema: prisma-platform
    Contains:
    🏒 Business entities and profiles
    πŸ“‹ Tender listings and bids
    πŸ’¬ Customer enquiries
    πŸ“¦ Product/service catalog
    πŸ“ˆ Activity logs
    Services: Business, Tender, Enquiry, Catalog, Activity

    πŸ“š Master Data Domain#

    Schema: prisma-master
    Contains:
    βš™οΈ System configurations
    🏷️ Categories and taxonomies
    🌍 Geographic data (countries, states, cities)
    🏭 Industry classifications
    πŸ“Š Static reference data
    Services: Master Service

    πŸ’΅ Wallet Domain#

    Schema: prisma-wallet
    Contains:
    πŸ’° Wallet accounts and balances
    πŸ“œ Transaction history
    πŸ’³ Payment records
    🧾 Billing information
    πŸ“„ Invoice data
    Services: Wallet Service, Billing Service

    πŸ“‘ Event-Driven Communication#

    The system implements an event-driven architecture using Google Cloud Pub/Sub for asynchronous communication between microservices, enabling loose coupling and better scalability.

    πŸ“¨ Event Types#

    πŸ‘€ User Events#

    ✨ User registered
    πŸ”“ User logged in
    ✏️ User profile updated
    πŸ”‘ Password changed
    βœ… Account verified

    🏒 Business Events#

    βž• Business created
    πŸ“ Business profile updated
    βœ”οΈ Business verified
    πŸ“Š Business subscription changed

    πŸ“‹ Tender Events#

    πŸ“’ Tender published
    πŸ”„ Tender updated
    πŸ’° Bid submitted
    βœ…/❌ Bid accepted/rejected
    πŸ”’ Tender closed

    πŸ’¬ Enquiry Events#

    βž• Enquiry created
    πŸ‘€ Enquiry assigned
    πŸ’¬ Enquiry responded
    βœ… Enquiry closed

    πŸ’° Wallet Events#

    βž• Wallet created
    πŸ’΅ Funds deposited
    πŸ’Έ Funds withdrawn
    πŸ”„ Balance updated

    πŸ’³ Payment Events#

    ⏳ Payment initiated
    βœ… Payment successful
    ❌ Payment failed
    πŸ”„ Refund processed

    ✨ Benefits of Event-Driven Architecture with GCP Pub/Sub#

    1.
    πŸ”— Loose Coupling: Services don't need to know about each other directly
    2.
    πŸ“ˆ Scalability: Event consumers can be scaled independently; Pub/Sub auto-scales
    3.
    πŸ”„ Reliability: Messages are persisted and delivered with at-least-once guarantee
    4.
    πŸ“‹ Auditability: Complete event history for compliance and debugging
    5.
    🎯 Flexibility: Easy to add new event consumers without modifying publishers
    6.
    ⚑ Performance: Low-latency message delivery with global infrastructure
    7.
    πŸ”’ Security: Built-in encryption, IAM integration, and access controls
    8.
    πŸ” Dead Letter Queue: Automatic handling of failed message processing

    ⚑ Event Processing Flow#

    The Handler Service acts as a workflow orchestrator using GCP Pub/Sub. For detailed information on how the Handler Service orchestrates HTTP API calls across microservices, see the Handler Service Orchestration section below.
    High-Level Flow:
    1.
    πŸ“¨ Services publish events to Pub/Sub topics using @libs/events wrapper
    2.
    πŸ“‘ GCP Pub/Sub receives and stores messages in topics
    3.
    πŸ”” Pub/Sub pushes messages to subscriptions (push) or consumers pull messages
    4.
    πŸ‘‚ Event consumers (Handler Service, Activity Service, etc.) receive messages
    5.
    ⚑ Handler Service processes events and orchestrates workflows via HTTP API calls
    6.
    βœ… Consumers acknowledge messages after successful processing
    7.
    πŸ” Failed messages are retried or sent to dead letter queue
    πŸ’‘ Note: This pattern enables complex business workflows while maintaining loose coupling between services. GCP Pub/Sub ensures reliable message delivery with automatic retries and dead letter handling.

    🎭 Handler Service Orchestration#

    The Handler Service acts as the central orchestrator, processing events and coordinating actions across multiple microservices through HTTP API calls.

    πŸ”„ Orchestration Workflow#

    Step 1: Event Reception
    Handler Service listens to all events from the Event Bus
    Events are queued and processed asynchronously
    Each event contains metadata and instructions for processing
    Step 2: Workflow Execution
    Workflow Engine analyzes the event type and data
    Determines which services need to be called
    Sequences API calls based on dependencies and business rules
    Step 3: HTTP API Calls
    Makes RESTful API calls to target microservices
    Passes relevant data and context from the event
    Handles authentication and authorization tokens
    Step 4: Response Handling
    Collects responses from all API calls
    Handles errors and retries failed calls
    Logs results for audit and debugging
    Step 5: Completion
    Updates event status
    Triggers follow-up events if needed
    Notifies monitoring systems

    πŸ“‹ Example Orchestration Scenarios#

    Scenario 1: New User Registration
    Event: user.registered
    Handler Actions:
    1.
    POST /api/users/profile β†’ Create user profile
    2.
    POST /api/wallet/create β†’ Create user wallet
    3.
    POST /api/activity/log β†’ Log registration activity
    4.
    POST /api/email/send β†’ Send welcome email
    Scenario 2: Tender Published
    Event: tender.published
    Handler Actions:
    1.
    POST /api/business/notify β†’ Notify business owner
    2.
    POST /api/users/notify-matching β†’ Notify users with matching interests
    3.
    POST /api/activity/log β†’ Log tender publication
    4.
    POST /api/email/send-batch β†’ Send email notifications
    5.
    POST /api/catalog/update-stats β†’ Update catalog statistics
    Scenario 3: Payment Successful
    Event: payment.successful
    Handler Actions:
    1.
    POST /api/wallet/credit β†’ Credit wallet balance
    2.
    POST /api/billing/update-invoice β†’ Mark invoice as paid
    3.
    POST /api/tender/unlock β†’ Unlock tender access if applicable
    4.
    POST /api/activity/log β†’ Log payment activity
    5.
    POST /api/email/send-receipt β†’ Send payment receipt

    πŸ’» Local Development Setup#

    The local development environment is designed for easy setup and realistic HTTPS testing with trusted certificates.

    πŸ› οΈ Local Setup Components#

    1️⃣ mkcert#

    πŸ” Generates locally-trusted TLS certificates
    πŸ›οΈ Creates a local Certificate Authority (CA)
    βœ… Installs CA in system trust store
    🌐 Supports wildcard certificates for *.local.bidancer.com

    2️⃣ dnsmasq#

    πŸ” Provides wildcard DNS resolution
    🎯 Routes all *.local.bidancer.com to 127.0.0.1
    🚫 Eliminates need for manual /etc/hosts entries
    ♾️ Supports unlimited subdomains

    3️⃣ Nginx#

    πŸ”„ Acts as HTTPS reverse proxy
    🎯 Routes based on subdomain
    πŸ”’ Terminates SSL/TLS
    πŸ”Œ Proxies to backend services on various ports

    4️⃣ Port Forwarding (macOS)#

    πŸ”§ Uses pf (packet filter) to forward ports
    🌐 80 β†’ 8080 (HTTP)
    πŸ”’ 443 β†’ 8443 (HTTPS)
    πŸ‘€ Allows Nginx to run without root privileges

    πŸš€ Local Development Flow#

    StepAction
    1Developer runs bun setup:local init --map app:3000 --map api:5100
    2Script installs and configures mkcert, dnsmasq, and Nginx
    3Developer starts services: bun run dev:all
    4Services run on their assigned ports (e.g., Auth on 8001, User on 8002)
    5Nginx proxies HTTPS requests to appropriate services
    6Browser trusts certificates without warnings βœ…

    πŸ”§ Microservices Overview#

    🎯 Service Responsibilities#

    🎯 Service Responsibilities#

    ServicePortDatabasePrimary Responsibilities
    πŸ” Auth8001AuthenticationLogin, registration, JWT tokens, sessions
    πŸ‘€ User8002AuthenticationUser profiles, preferences, settings
    🏒 Business8003PlatformBusiness entity CRUD, verification
    πŸ“‹ Tender8004PlatformTender management, bidding logic
    πŸ’¬ Enquiry8005PlatformEnquiry handling, assignment, responses
    πŸ“¦ Catalog8006PlatformProduct/service catalog, categories
    πŸ’° Wallet8007WalletDigital wallet, balance management
    πŸ’³ Billing8008WalletPayment processing, invoicing
    πŸ“Š Master8009MasterMaster data, configurations
    πŸ“ˆ Activity8010PlatformActivity tracking, analytics
    ⚑ Handler8011β€”Event processing, workflow orchestration
    🚫 NotFound9999β€”404 error handling

    βš™οΈ Technology Stack#

    πŸš€ Runtime & Framework#

    Bun: High-performance JavaScript runtime
    TypeScript: Type-safe development

    πŸ—„οΈ Database & ORM#

    PostgreSQL: Primary database
    Prisma: ORM for all domains
    πŸ”‘ Authentication domain
    πŸ›οΈ Platform domain
    πŸ“š Master data domain
    πŸ’΅ Wallet domain

    🌐 API & Communication#

    REST APIs: HTTP/JSON for synchronous communication
    Google Cloud Pub/Sub: Asynchronous event-driven messaging via @libs/events wrapper
    WebSockets: Real-time updates (where applicable)

    πŸ› οΈ Development Tools#

    Biome: Fast linter and formatter
    Prettier: Code formatting
    mkcert: Local TLS certificates
    dnsmasq: Local DNS
    Nginx: Reverse proxy

    ☁️ Infrastructure#

    Docker: Containerization
    Google Cloud Build: CI/CD
    Nginx: Production reverse proxy and load balancing

    πŸ“Š Observability#

    Telemetry Library: Custom observability
    Logging: Structured logging across services
    Metrics: Performance and health metrics
    Tracing: Distributed request tracing

    πŸ“ Design Principles#

    1️⃣ Domain-Driven Design (DDD)#

    🎯 Services organized around business domains
    πŸ›οΈ Clear bounded contexts
    πŸ’¬ Ubiquitous language within each domain

    2️⃣ Microservices Best Practices#

    🎯 Single Responsibility: Each service has one clear purpose
    πŸš€ Independent Deployment: Services can be deployed independently
    πŸ”’ Data Isolation: Each service owns its data
    πŸ“‘ API-First: Well-defined contracts between services

    3️⃣ Event-Driven Architecture#

    ⚑ Asynchronous communication for non-blocking operations
    πŸ“œ Event sourcing for audit trails
    πŸ”„ CQRS pattern where applicable

    4️⃣ Security#

    πŸ” JWT-based authentication
    πŸ‘₯ Role-based access control (RBAC)
    πŸ”’ Encrypted communication (TLS/SSL)
    πŸ›‘οΈ Secure credential storage
    πŸ†” KYC verification integration

    5️⃣ Scalability#

    ↔️ Horizontal scaling of services
    πŸ“Š Database sharding capability
    ⚑ Caching strategies
    βš–οΈ Load balancing

    6️⃣ Resilience#

    πŸ”Œ Circuit breakers for external calls
    πŸ”„ Retry mechanisms with exponential backoff
    πŸ›‘οΈ Graceful degradation
    πŸ’š Health checks and monitoring

    7️⃣ Developer Experience#

    πŸ“¦ Monorepo for easier code sharing
    πŸ€– Automated local setup
    πŸ“š Comprehensive documentation
    ✨ Consistent coding standards

    πŸš€ Future Considerations#

    Planned Enhancements#

    Planned Enhancements#

    πŸ“¨ Message queue integration (GCP Pub/Sub - Implemented)
    πŸ” GraphQL API gateway
    πŸ•ΈοΈ Service mesh (Istio/Linkerd)
    ☸️ Kubernetes deployment
    ⚑ Advanced caching layer (Redis)
    πŸ”Ž Full-text search (Elasticsearch)
    πŸ“Š Real-time analytics dashboard
    🚦 API rate limiting and throttling
    πŸ“ˆ Advanced monitoring (Prometheus/Grafana)
    πŸ§ͺ Automated testing suite expansion

    πŸ“š Additional Resources#

    README.md - Getting started guide and setup instructions
    Project Structure - Detailed monorepo organization
    Local Setup Guide - Automated local environment setup
    Useful Commands - Complete command reference

    Built with ❀️ by the Bidancer Team
    For questions or contributions, please contact the Bidancer core team.
    Modified atΒ 2026-01-13 17:40:56
    Built with