Float Service

Welcome to the documentation for the Float Service.

Overview

The Float Service is a core component of the FloatMe platform, responsible for managing short-term financial advances, known as "floats", for our users. This service orchestrates the entire float lifecycle, from initial request and underwriting approval to fund disbursement and eventual collection.

Key Features

  • Float Management: CRUD operations for floats, maintaining a source of truth for all active and historical advances.

  • Collection Orchestration: Automated systems for scheduling and executing float collections via ACH and pinless debit.

  • Administrative Tools: QA endpoints for automation and internal tools for managing bypasses and user bans.

  • Event-Driven Architecture: Integrations with AWS EventBridge to notify other services of float lifecycle events.

Service Components

The repository is structured into several specialized services:

  • API Service (cmd/api): The primary interface for internal clients to manage floats.

  • Collections Worker (cmd/collections-worker): Processes scheduled collection attempts.

  • Collections Scheduler (cmd/collections-scheduler): Identifies floats due for collection and queues them for processing.

  • Webhook Workers (cmd/webhook-worker): Trigger collections based on external events like income detection.

  • Batch Worker (cmd/batch-worker): Handles bulk operations and data management.