Skip to main content

Overview

ReptiDex operates on a consolidated microservices architecture with 6 core services designed for operational simplicity while maintaining proper service boundaries. This registry provides a complete view of our service ecosystem, dependencies, and development roadmap.
Service Count: 6 consolidated services
Architecture: Database-per-service
Deployment: Docker Compose on EC2
All services follow consistent patterns for authentication, observability, and event-driven communication via Grafana monitoring.

Consolidated Service Architecture

Foundation

repti-core - Authentication, configuration, billing, events, telemetry

Business Logic

repti-animal - Animals, lineage, genetics, taxonomy, breeding

Commerce

repti-commerce - Marketplace, sales, transactions, inventory

Media & Content

repti-media - Files, rendering, embeds, content management

Engagement

repti-community - Search, notifications, community, advertising

Operations

repti-ops - Admin, audit, integrations, logging

Service Catalog

repti-core

Foundation service that supports all other domains
AttributeDetails
PurposeAuthentication, configuration, billing, events, telemetry
Port8001
Databaserepti_core_db
StatusActive Development
Team OwnerPlatform Team
Core Responsibilities:
  • Identity & access management (users, organizations, sessions)
  • Configuration & feature flags management
  • Event bus & async processing coordination
  • Telemetry collection and aggregation
  • Billing and subscription management (Stripe/PayPal integration)
Key Endpoints:
  • POST /auth/login - User authentication
  • GET /config/features - Feature flag retrieval
  • POST /events/publish - Event publishing
  • GET /billing/subscriptions - Subscription management

repti-animal

Core business logic for reptile-specific functionality
AttributeDetails
PurposeAnimals, lineage, genetics, taxonomy, breeding
Port8002
Databaserepti_animal_db
StatusIn Development
Team OwnerBusiness Logic Team
Core Responsibilities:
  • Animal records & metadata management
  • Pedigree tracking & visualization (recursive up to N generations)
  • Species taxonomy & traits (morphs, alleles, canonical traits)
  • Breeding pairs & clutch tracking (attempts, hatch rates, offspring)
  • Genetic analysis and predictions
Key Endpoints:
  • GET /animals - Animal record retrieval
  • GET /lineage/{animal_id} - Pedigree tree generation
  • POST /breeding/pairs - Breeding pair creation
  • GET /taxonomy/species - Species and morph data

repti-commerce

Commerce and marketplace functionality
AttributeDetails
PurposeMarketplace, sales, transactions, inventory
Port8003
Databaserepti_commerce_db
StatusPlanned
Team OwnerCommerce Team
Core Responsibilities:
  • Marketplace listings and discovery
  • Sales transactions and order management
  • Inventory tracking and availability
  • Payment processing coordination with repti-core
  • Commerce analytics and reporting
Key Endpoints:
  • GET /marketplace/listings - Browse available animals
  • POST /orders - Purchase order creation
  • GET /inventory/{breeder_id} - Inventory management
  • POST /transactions - Transaction processing

repti-media

Media and content management
AttributeDetails
PurposeFiles, rendering, embeds, content
Port8004
Databaserepti_media_db
StatusPlanned
Team OwnerMedia Team
Core Responsibilities:
  • File storage & CDN management (images, videos, documents)
  • Dynamic document/pedigree/chart rendering & exports (PDF, SVG, PNG)
  • Embeddable widgets for external sites (profile cards, pedigree trees)
  • Media processing and optimization
  • Content management and delivery
Key Endpoints:
  • POST /upload - File upload handling
  • GET /render/pedigree/{animal_id} - Pedigree chart rendering
  • GET /embed/widgets - Widget generation
  • GET /media/{file_id} - Media file retrieval

repti-community

Engagement and community features
AttributeDetails
PurposeSearch, notifications, community, advertising
Port8005
Databaserepti_community_db
StatusPlanned
Team OwnerEngagement Team
Core Responsibilities:
  • Search & indexing across all content (animals, breeders, knowledge base)
  • Multi-channel notifications (email, SMS, push, in-app)
  • Community features and social interactions
  • Advertising and promotion management (boosted listings, ad credits)
  • User engagement analytics
Key Endpoints:
  • GET /search - Global search functionality
  • POST /notifications/send - Notification delivery
  • GET /community/forums - Community content
  • POST /ads/campaigns - Advertisement management

repti-ops

Operations and administrative functionality
AttributeDetails
PurposeAdmin, audit, integrations, logging
Port8006
Databaserepti_ops_db
StatusPlanned
Team OwnerOperations Team
Core Responsibilities:
  • Administrative tools and dashboards
  • Audit logs & compliance reporting (GDPR, SOC2)
  • Third-party integrations management (genetics labs, partner marketplaces)
  • System monitoring and alerting via Grafana
  • Operational analytics and insights
Key Endpoints:
  • GET /admin/dashboard - Administrative interface
  • GET /audit/logs - Audit trail retrieval
  • POST /integrations/configure - Integration setup
  • GET /monitoring/health - System health checks

Service Dependencies & Communication

Service Dependency Graph

Service Communication Patterns

repti-core Dependencies:
  • External Integrations: Stripe/PayPal APIs, AWS KMS, Email providers
  • Internal: None (foundation service)
  • Consumers: All other services depend on repti-core
repti-animal Dependencies:
  • Internal: repti-core (authentication, configuration)
  • Consumers: repti-commerce, repti-community, repti-media
repti-commerce Dependencies:
  • Internal: repti-core (auth, billing), repti-business (product data)
  • External: Payment processors via repti-core
repti-media Dependencies:
  • Internal: repti-core (authentication)
  • External: AWS S3, CDN services
repti-community Dependencies:
  • Internal: repti-core (auth), repti-animal (search data)
  • External: Email/SMS providers
repti-ops Dependencies:
  • Internal: repti-core (auth and events)
  • External: Grafana, monitoring services
Event Categories:
  • Core Events: user.*, auth.*, config.*, billing.*
  • Animal Events: animal.*, lineage.*, breeding.*, genetics.*
  • Commerce Events: order.*, transaction.*, inventory.*
  • Media Events: file.*, render.*, embed.*
  • Community Events: search.*, notification.*, community.*
  • Operations Events: audit.*, admin.*, integration.*
Event Flow Patterns:

Deployment Architecture

Docker Compose Strategy

Simplified Deployment Approach:
  • Development: All 6 services in Docker Compose locally
  • Staging: Single EC2 instance with Docker Compose
  • Production: 2-3 EC2 instances behind Application Load Balancer

Service Configuration

# docker-compose.yml
version: '3.8'
services:
  repti-core:
    image: reptidex/repti-core:latest
    ports: ["8001:8001"]
    environment:
      - DATABASE_URL=postgresql://repti_core_db
      - REDIS_URL=redis://redis:6379
    depends_on: [postgres, redis]
    
  repti-animal:
    image: reptidex/repti-animal:latest
    ports: ["8002:8002"]
    environment:
      - DATABASE_URL=postgresql://repti_animal_db
      - CORE_SERVICE_URL=http://repti-core:8001
    depends_on: [postgres, repti-core]
    
  # Additional services...

Service Health Monitoring

Health Check Endpoints:
  • GET /health - Basic service health
  • GET /health/deep - Database and dependency checks
  • GET /metrics - Prometheus metrics for Grafana
Grafana Integration:
  • APM monitoring for all 6 services
  • Custom dashboards for business metrics
  • Alert policies for service failures
  • Distributed tracing across service calls

Development Guidelines

Service Development Patterns

API Design Standards:
  • OpenAPI 3.0 specification for all endpoints
  • RESTful resource naming conventions
  • Consistent error response formats
  • JWT authentication via repti-core
  • Pydantic models for request/response validation
Database Patterns:
  • Database-per-service isolation
  • Row-level security for multi-tenancy
  • Alembic migrations for schema changes
  • Connection pooling and optimization
  • Audit trails for all data changes
Event Publishing Standards:
# Standard event publishing pattern
async def publish_event(service: str, event_type: str, data: dict):
    event = {
        "service": service,
        "event_type": event_type,
        "data": data,
        "timestamp": datetime.utcnow().isoformat(),
        "correlation_id": generate_correlation_id()
    }
    await sns_client.publish(TopicArn=EVENT_TOPIC, Message=json.dumps(event))

Operational Guidelines

Service Monitoring:
  • Grafana APM for all services
  • Custom business metrics dashboards
  • SLA monitoring (99.9% uptime target)
  • Error rate alerting (< 1% error rate)
  • Response time monitoring (< 500ms p95)
Deployment Process:
  1. Code Review: All changes require peer review
  2. Testing: Unit, integration, and e2e tests must pass
  3. Security Scan: Automated security vulnerability scanning
  4. Deploy to Staging: Test in staging environment
  5. Production Deploy: Rolling deployment with health checks
  6. Monitor: Verify service health and business metrics
Incident Response:
  • Grafana alerts automatically create incidents
  • On-call rotation for critical service failures
  • Runbooks for common issues documented per service
  • Post-incident reviews and service improvements

Quick Actions


This service registry is automatically updated with each release. For real-time service status, check our Service Health Dashboard.