Skip to main content

1nga Shared Services Documentation

Welcome to the unified documentation for all shared services in the 1nga platform monorepo. This documentation provides comprehensive guides, API references, architecture details, and integration examples for all shared microservices.

Overview

The 1nga platform uses a microservices architecture with shared services that provide core functionality across all applications. These services are designed to be reusable, scalable, and maintainable.

Available Services

🔍 Saga Service Discovery

Service discovery and registration system that enables automatic service registration, health monitoring, and dynamic service discovery across the platform.

Key Features:

  • Automatic service registration and health checks
  • Service discovery via CLI and API
  • Service generation templates
  • Multi-protocol support (HTTP, gRPC, GraphQL)

Get Started with Saga →

🚪 Gateway Service

High-performance API Gateway service implemented in Rust using Actix Web. Provides routing, load balancing, authentication, and request/response transformation.

Key Features:

  • High-performance request routing
  • Authentication and authorization
  • Rate limiting and throttling
  • Request/response transformation

Get Started with Gateway →

🔗 Federation Service

Dedicated service for GraphQL, REST, and gRPC federation across 1nga microservices. Enables schema composition and unified API access.

Key Features:

  • GraphQL schema federation
  • REST API aggregation
  • gRPC service composition
  • Unified API gateway integration

Get Started with Federation →

📧 Communication Service

Centralized communication platform built with Elixir/Phoenix. Handles email, SMS, and push notifications for all 1nga services.

Key Features:

  • Email delivery with multiple providers
  • SMS notifications
  • Push notifications (iOS, Android, Web)
  • Template management
  • Delivery tracking and analytics

Get Started with Communication →

💳 Payment Service

High-performance payment processing microservice using Rust + Actix Web. Supports multiple payment providers and payment methods.

Key Features:

  • Multiple payment provider support
  • Payment method management
  • Transaction processing
  • Webhook handling
  • Payment analytics

Get Started with Payment →

Documentation Structure

Each service documentation includes:

  • Getting Started - Quick setup and installation guides
  • API Reference - Complete API documentation with examples
  • Architecture - System design and architecture details
  • Configuration - Configuration options and environment variables
  • Deployment - Production deployment guides and best practices

Quick Start

  1. Choose a service from the sidebar or the links above
  2. Follow the Getting Started guide for your chosen service
  3. Review the API Reference for integration details
  4. Check the Architecture docs for system design understanding
  5. Deploy using the deployment guides

Local Development

All shared services can be run locally for development:

# Gateway Service
make gateway-dev

# Federation Service
make federation-dev

# Communication Service
make communication-dev

# Payment Service
make payment-dev

# Saga Service
make saga-dev

Need Help?

  • Troubleshooting: Check the troubleshooting guides for each service
  • API Questions: Review the API reference documentation
  • Integration: See the integration examples in each service's documentation
  • Architecture: Review the architecture documentation for design decisions

Contributing

Documentation improvements and contributions are welcome! Each service's documentation is located in shared/docs/docs/{service-name}/.


Ready to get started? Choose a service from the sidebar or use the quick links above!