Skip to main content

System Architecture

Loyalty.lt is built on a modern, scalable architecture designed to handle loyalty programs for businesses of all sizes. The platform is organized into distinct API layers that serve different use cases and access levels.

Architecture Overview

Loyalty.lt Architecture Diagram
The Loyalty.lt platform consists of three main components:
  1. Backend API - Laravel-based REST API with PostgreSQL database
  2. Frontend Applications - Multiple specialized applications for different users
  3. SDK Libraries - Developer tools for easy integration

API Layers

The platform provides three distinct API layers, each optimized for specific use cases and user types.

Shop APIs

Purpose: Direct shop integration for basic loyalty operations
Base URL: https://staging-api.loyalty.lt/api/
Authentication: API Key + Secret
  • Use Cases
  • Features
  • Limitations
  • Simple Integration: Basic loyalty card management
  • Point-of-Sale Systems: Award and redeem points at checkout
  • E-commerce Stores: Integrate with existing shopping platforms
  • Small Businesses: Quick setup without complex development

SDK APIs

Purpose: Advanced developer integration with enhanced features
Base URL: https://staging-api.loyalty.lt/{locale}/sdk/
Authentication: JWT Tokens + API Credentials
  • Use Cases
  • Features
  • Advanced Capabilities
  • Mobile Applications: Real-time loyalty features
  • Web Applications: Advanced user interfaces
  • Custom Integrations: Tailored loyalty solutions
  • Third-party Platforms: Deep integration capabilities

Partner APIs

Purpose: Multi-shop management and business analytics
Base URL: https://staging-api.loyalty.lt/{locale}/partners/
Authentication: JWT Tokens (Partner Level)
  • Use Cases
  • Features
  • Management Capabilities
  • Multi-location Businesses: Manage multiple shops
  • Franchise Operations: Centralized loyalty management
  • Analytics Dashboards: Business intelligence tools
  • White-label Solutions: Custom branded portals

Backend Infrastructure

Core Technologies

Laravel Framework

Version: 10.x
  • RESTful API architecture
  • Eloquent ORM for database operations
  • Built-in authentication and authorization
  • Queue system for background jobs

PostgreSQL Database

Version: 15.x
  • ACID compliance for data integrity
  • Advanced querying capabilities
  • JSON column support
  • Horizontal scaling support

Redis Cache

Use Cases:
  • Session storage
  • API rate limiting
  • Queue management
  • Real-time data caching

Ably WebSockets

Features:
  • Real-time point updates
  • Live game synchronization
  • Instant notifications
  • Event broadcasting

Database Schema

The platform uses a normalized database schema optimized for loyalty operations:
loyalty_cards: Customer loyalty card records
points_transactions: All point award/redemption history
offers: Promotional offers and coupons
games: Gamification challenges and rewards
shops: Store/business location data
users: Customer and staff user accounts
partners: Business partner organizations
permissions: Role-based access control
api_credentials: API authentication keys
analytics_events: User interaction tracking
performance_metrics: Business performance data
revenue_tracking: Financial analytics
customer_insights: Behavioral analysis data

Frontend Applications

Partners Portal

Technology: Remix.js with TypeScript
URL: https://partners.loyalty.lt
  • Features
  • Target Users
  • Multi-shop dashboard
  • Analytics and reporting
  • User management
  • API credential management
  • Settings configuration

Website

Technology: Next.js with TypeScript
URL: https://loyalty.lt
  • Purpose
  • Features
  • Marketing and information
  • Partner onboarding
  • Documentation portal
  • Support resources

Email Marketing

Technology: Mautic Platform
URL: https://emails.loyalty.lt
  • Capabilities
  • Integration
  • Automated email campaigns
  • Customer segmentation
  • A/B testing
  • Performance tracking

SDK Libraries

JavaScript/TypeScript SDK

Package: @loyalty-lt/javascript-sdk
Features: WebSocket support, TypeScript definitions, React hooks
import { LoyaltySDK } from '@loyalty-lt/javascript-sdk';

const sdk = new LoyaltySDK({
  apiKey: 'your_api_key',
  environment: 'staging'
});

React SDK

Package: @loyalty-lt/react-sdk
Features: React hooks, components, context providers
import { useLoyaltyCard, LoyaltyProvider } from '@loyalty-lt/react-sdk';

function App() {
  return (
    <LoyaltyProvider apiKey="your_key">
      <LoyaltyCard customerId="123" />
    </LoyaltyProvider>
  );
}

PHP SDK

Package: loyalty-lt/php-sdk
Features: Laravel integration, Composer package, PSR-4 compliant
use LoyaltyLT\SDK\LoyaltyClient;

$client = new LoyaltyClient([
    'api_key' => 'your_api_key',
    'api_secret' => 'your_api_secret'
]);

Security Architecture

Authentication Methods

  • API Credentials
  • JWT Tokens
  • OAuth 2.0
Used by: Shop APIs, initial SDK authentication
Method: X-API-Key + X-API-Secret headers
Security: HTTPS only, credential rotation supported

Security Features

Rate Limiting

  • Per-endpoint limits
  • IP-based throttling
  • Token bucket algorithm
  • Custom rate limits for partners

Data Protection

  • HTTPS encryption in transit
  • Database encryption at rest
  • PII data anonymization
  • GDPR compliance features

Access Control

  • Role-based permissions
  • API scope limitations
  • IP whitelisting
  • Audit logging

Monitoring

  • Real-time error tracking
  • Performance monitoring
  • Security event logging
  • Automated alerts

Deployment Architecture

Environment Setup

  • Staging
  • Production
URL: staging-api.loyalty.lt
Purpose: Development and testing
Features: Test data, full API access, reset capabilities

Infrastructure Components

  • Load Balancer: Nginx with SSL termination
  • Application: Laravel on PHP 8.2
  • Process Manager: PHP-FPM with auto-scaling
  • Queue Workers: Redis-backed job processing
  • Primary: PostgreSQL 15.x with read replicas
  • Cache: Redis cluster for session/cache data
  • Search: Elasticsearch for analytics queries
  • Backup: Automated daily backups with point-in-time recovery
  • APM: Application performance monitoring
  • Logs: Centralized logging with search capabilities
  • Metrics: Custom business metrics tracking
  • Alerts: Real-time notification system

Scalability Considerations

Horizontal Scaling

The platform is designed to scale horizontally across multiple servers and regions.
  • Stateless Architecture: All application servers are stateless
  • Database Sharding: Customer data can be partitioned by region
  • Cache Distribution: Redis cluster with automatic failover
  • CDN Integration: Static assets served from global CDN

Performance Optimization

  • Database Indexing: Optimized indexes for common queries
  • Query Caching: Frequent queries cached in Redis
  • API Response Caching: Conditional caching based on data freshness
  • Background Processing: Heavy operations moved to queue system

Integration Patterns

E-commerce Integration

1

Plugin Installation

Install platform-specific plugin (WooCommerce, Shopify, etc.)
2

API Configuration

Configure API credentials in plugin settings
3

Event Mapping

Map e-commerce events to loyalty actions (purchase → points)
4

UI Integration

Add loyalty widgets to checkout and account pages

Custom Application Integration

1

SDK Installation

Install appropriate SDK for your platform
2

Authentication Setup

Implement JWT authentication flow
3

WebSocket Connection

Establish real-time connection for live updates
4

Event Handling

Implement webhook endpoints for event processing

Next Steps