PayPulse Cloud is a fully serverless AWS backend. There are no application servers to manage — every unit of compute is a Lambda function invoked on demand or on a schedule. Terraform manages the entire infrastructure as code.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/azfar-imtiaz/PayPulse-Cloud/llms.txt
Use this file to discover all available pages before exploring further.
System diagram
AWS services and their roles
| Service | Role |
|---|---|
| API Gateway | HTTP API (PayPulseAPI) that routes all iOS requests to Lambda. Logs to CloudWatch. Burst limit 5,000 / rate limit 1,000 req/s. |
| Lambda | 13 Python 3.12 functions covering auth, user management, invoice ingestion, parsing, retrieval, and notifications. |
| DynamoDB | 11 tables storing user records, parsed rental invoices, retail invoices (base + 8 detail tables), and vendor configuration. |
| S3 | Two buckets: rental-invoices-bucket for invoice files (PDF and HTML), and the Lambda functions bucket for deployment ZIP artifacts. |
| EventBridge | Scheduled rules trigger fetch_latest_invoice (daily, weekday mornings) and fetch_retail_invoices (weekly). Also drives the DynamoDB stream mapping for send_invoice_notification. |
| SNS | Topic NewInvoiceTopicNotification delivers email and iOS push notifications when a new rental invoice is parsed. |
| Cognito | Identity pool (WallenstamAppIdentityPool) provides unauthenticated guest credentials for iOS push notification registration. |
| Secrets Manager | Stores Gmail OAuth 2.0 tokens per user (gmail/user/{user_id}) and the Google OAuth client ID. |
| CloudWatch | Log groups for every Lambda function and for API Gateway. Detailed metrics and data tracing enabled. |
Detail pages
Lambda functions
Full reference for all 13 Lambda functions, layers, and deployment methods.
Data storage
DynamoDB table schemas and S3 bucket structure.
Event flow
Step-by-step pipelines for rental and retail invoice ingestion.
API Reference
Interactive reference for every REST endpoint.