Skip to main content

System Architecture

FaceLog is built using a distributed microservices architecture.

Each system component runs independently inside containerized environments and communicates through internal network services.


Architecture Overview

Core Components

Recognition Service

Responsible for:

  • Receiving camera images
  • Detecting faces
  • Generating embeddings
  • Performing recognition comparisons

Backend API

Implemented with FastAPI.

Responsible for:

  • Managing users
  • Storing recognition logs
  • Handling unknown users
  • Providing REST endpoints for the frontend

Database

database diagram

The system stores persistent data in a MySQL database.

Stored information includes:

  • User profiles
  • Embeddings
  • Recognition logs
  • Unknown user records

Frontend Dashboard

The frontend application provides an administrative interface that allows users to:

  • Monitor real-time activity
  • Manage users
  • Review recognition events
  • Register unknown users

Infrastructure

The system is deployed using container orchestration tools.

Docker

Each component runs inside its own container.

This ensures:

  • Environment consistency
  • Portability
  • Simplified deployment

Kubernetes

Kubernetes manages the container cluster and provides:

  • Automatic service recovery
  • Scaling
  • Load balancing
  • Cluster management