Skip to Content
ArchitectureOverview

Architecture Overview

The Apostille system follows a serverless, event-driven architecture built on AWS.

High-Level Architecture

┌─────────────────┐ ┌─────────────────┐ │ Citizen Portal │ │ Admin Portal │ │ (Next.js) │ │ (Next.js) │ └────────┬────────┘ └────────┬────────┘ │ │ └───────────┬───────────┘ ┌──────▼──────┐ │ API Gateway │ └──────┬──────┘ ┌──────▼──────┐ │ Lambda │ │ Functions │ └──────┬──────┘ ┌────────────────┼────────────────┐ │ │ │ ┌───▼───┐ ┌─────▼─────┐ ┌─────▼─────┐ │DynamoDB│ │ S3 │ │Step Funct.│ └────────┘ └───────────┘ └───────────┘

Key Components

Frontend Portals

  • Citizen Portal - Public-facing Next.js app for document submission and tracking
  • Admin Portal - Internal Next.js app for processing requests

Backend Services

  • API Gateway - RESTful API with Cognito authorization
  • Lambda Functions - Serverless compute for business logic
  • DynamoDB - NoSQL database for all entities
  • S3 - Document storage with presigned URLs
  • Step Functions - Workflow orchestration
  • EventBridge - Event bus for async processing
  • SNS - Notification delivery

Design Principles

  1. Hexagonal Architecture - Clean separation of domain, application, and infrastructure layers
  2. Event-Driven - Loose coupling through events
  3. Serverless-First - No servers to manage
  4. Infrastructure as Code - All resources defined in CDK
Last updated on