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
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