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

- Backend API - Laravel-based REST API with PostgreSQL database
- Frontend Applications - Multiple specialized applications for different users
- 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 operationsBase URL:
https://staging-api.loyalty.lt/api/
Authentication: API Key + Secret
- 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 featuresBase URL:
https://staging-api.loyalty.lt/{locale}/sdk/
Authentication: JWT Tokens + API Credentials
- 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 analyticsBase URL:
https://staging-api.loyalty.lt/{locale}/partners/
Authentication: JWT Tokens (Partner Level)
- 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:Core Tables
Core Tables
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
points_transactions: All point award/redemption history
offers: Promotional offers and coupons
games: Gamification challenges and rewards
shops: Store/business location data
User Management
User Management
users: Customer and staff user accounts
partners: Business partner organizations
permissions: Role-based access control
api_credentials: API authentication keys
partners: Business partner organizations
permissions: Role-based access control
api_credentials: API authentication keys
Analytics Tables
Analytics Tables
analytics_events: User interaction tracking
performance_metrics: Business performance data
revenue_tracking: Financial analytics
customer_insights: Behavioral analysis data
performance_metrics: Business performance data
revenue_tracking: Financial analytics
customer_insights: Behavioral analysis data
Frontend Applications
Partners Portal
Technology: Remix.js with TypeScriptURL: https://partners.loyalty.lt
- Multi-shop dashboard
- Analytics and reporting
- User management
- API credential management
- Settings configuration
Website
Technology: Next.js with TypeScriptURL: https://loyalty.lt
- Marketing and information
- Partner onboarding
- Documentation portal
- Support resources
Email Marketing
Technology: Mautic PlatformURL: https://emails.loyalty.lt
- 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
React SDK
Package:@loyalty-lt/react-sdk
Features: React hooks, components, context providers
PHP SDK
Package:loyalty-lt/php-sdk
Features: Laravel integration, Composer package, PSR-4 compliant
Security Architecture
Authentication Methods
Used by: Shop APIs, initial SDK authentication
Method: X-API-Key + X-API-Secret headers
Security: HTTPS only, credential rotation supported
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
URL: staging-api.loyalty.lt
Purpose: Development and testing
Features: Test data, full API access, reset capabilities
Purpose: Development and testing
Features: Test data, full API access, reset capabilities
Infrastructure Components
Application Servers
Application Servers
- 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
Database Layer
Database Layer
- 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
Monitoring & Logging
Monitoring & Logging
- 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