PhotoFlow Platform - Introduction
Overview
PhotoFlow (PFL) is a comprehensive photo workflow management platform designed for professional photographers and photo editing studios. The platform streamlines the entire photo production workflow—from raw photo capture to final delivery—with real-time collaboration between photographers, editors, and clients.
Project Purpose
PhotoFlow addresses the challenges faced by photography studios in managing large-scale photo projects:
Workflow Automation: Automates the progression of photo albums through defined stages (Raw → Stock → Rate → Retouch → Feedback → Final)
Cloud Integration: Seamlessly integrates with Google Drive for photo storage and synchronization
Real-time Collaboration: Enables clients to provide feedback on photos in real-time using SignalR
Multi-tenant Architecture: Supports multiple organizations with isolated data and configurations
Key Capabilities
Capability | Description |
|---|---|
Album State Machine | Automated workflow progression with validation rules |
Photo Synchronization | Bidirectional sync with Google Drive |
Client Feedback Portal | Anonymous client access for photo rating and feedback |
Real-time Notifications | SignalR-powered live updates |
Role-based Authorization | Photographer, Admin, SuperAdmin, and Anonymous policies |
Audit Logging | Comprehensive activity tracking and performance monitoring |
System Components
The PhotoFlow platform consists of the following major components:
Target Audience
This documentation is intended for:
Backend Developers: Understanding microservices architecture, domain logic, and API contracts
Frontend Developers: Integration with backend APIs and SignalR real-time features
DevOps Engineers: Deployment, monitoring, and infrastructure management
New Team Members: Onboarding and understanding the overall system architecture
Technology Stack
Backend
.NET 9: Core framework for all microservices
Entity Framework Core: ORM for database operations
MediatR: CQRS pattern implementation
Stateless: State machine library for workflow management
SignalR: Real-time communication
Polly: Retry and resilience patterns
Frontend
Angular 19: Standalone components architecture
Angular Material: UI component library
Tailwind CSS: Utility-first CSS framework
RxJS: Reactive programming
Infrastructure
PostgreSQL: Primary database
Redis: Distributed caching
Kubernetes: Container orchestration
Helm: Package management for K8s
GitLab CI/CD: Continuous integration and deployment
Quick Links
Album Workflow
API Documentation
Deployment Guide