How nazirumar/photography-studio-management-system works
StudioFlow is a Django photography-studio management platform. Its principal customer journey runs from lead and client management through booking, project work, client galleries, invoicing, payment, and delivery. Separate branches cover studio resources, communications, reporting, administration, and AI-assisted operations; the mobile client consumes the REST API. The graph combines sampled implementation evidence with explicitly documented README capabilities. Several feature areas were not sampled, so their internal calls and data stores are not asserted.
Main entry points: bookings/models.py Bookings · reports Reports and forecasts · clients/models.py Client records · graph.py AI workflow
Components 32
Customer workflow
- Lead pipeline
apps/leads - Client records
apps/clients/models.py - Bookings
apps/bookings/models.py - Projects
apps/projects/models.py - Client galleries
apps/gallery/models.py - Invoices and payments
apps/finance/models.py - Communications
apps/notifications/whatsapp_service.py - Client portal
apps/portal
Studio operations
- Staff and studios
apps/studios/models.py - Packages
apps/packages/models.py - Inventory and suppliers
apps/inventory/models.py - Equipment maintenance
apps/equipment/models.py - Expenses
apps/expenses/models.py - Contracts
apps/contracts - Print orders
apps/printing - Client feedback
apps/feedback - Reports and forecasts
apps/reports
Platform services
- REST API
apps/api - Mobile app
mobile/App.js - Audit trail
apps/audit/models.py - Accounts
apps/accounts/models.py - Administration and search
apps/core - Scheduled jobs
config/celery.py
AI assistant
- AI workflow
apps/ai_fde/agents/graph.py - Studio operation tools
apps/ai_fde/tools - Knowledge retrieval
apps/ai_fde/rag/ingestion.py - Knowledge documents
apps/ai_fde/models/knowledge.py - Embeddings
apps/ai_fde/rag/embeddings.py - LLM provider
apps/ai_fde/llm
Other components
- Staff and clients
- LLM service
- Paystack
Connections 40
- Staff and clients → Lead pipeline: manage leads
- Lead pipeline → Client records: convert to client
- Staff and clients → Client records: manage clients
- Client records → Bookings: book sessions
- Packages → Bookings: select package
- Bookings → Projects: track shoot
- Projects → Client galleries: deliver gallery
- Client galleries → Communications: notify selection
- Bookings → Invoices and payments: invoice booking
- Invoices and payments → Paystack: create payment links
- Invoices and payments → Communications: send reminders
- Projects → Communications: notify delivery
- Client portal → Client galleries: enable selections
- Staff and clients → Staff and studios: coordinate staff
- Staff and clients → Inventory and suppliers: manage stock
- Staff and clients → Equipment maintenance: schedule maintenance
- Staff and clients → Expenses: track costs
- Staff and clients → Contracts: manage contracts
- Staff and clients → Print orders: manage print jobs
- Staff and clients → Client feedback: review feedback
- Staff and clients → Reports and forecasts: view analytics
- Reports and forecasts → Bookings: analyze bookings
apps/reports/services.py - Reports and forecasts → Client records: analyze clients
apps/reports/services.py - Reports and forecasts → Expenses: analyze expenses
apps/reports/services.py - Reports and forecasts → Invoices and payments: analyze revenue
apps/reports/services.py - Mobile app → REST API: request data
mobile/App.js - Accounts → Audit trail: record account events
apps/accounts/services.py - Bookings → Audit trail: record booking changes
apps/bookings/services.py - Client records → Audit trail: record client changes
apps/clients/services.py - Scheduled jobs → Communications: schedule messages
- Scheduled jobs → Inventory and suppliers: check stock alerts
- Scheduled jobs → Equipment maintenance: check maintenance
- Staff and clients → AI workflow: ask assistant
- AI workflow → Studio operation tools: dispatch tools
- AI workflow → Knowledge retrieval: retrieve context
- Knowledge retrieval → Knowledge documents: read and chunk
apps/ai_fde/rag/ingestion.py - Knowledge retrieval → Embeddings: generate vectors
apps/ai_fde/rag/ingestion.py - AI workflow → LLM provider: request completion
- LLM provider → LLM service: call provider
- Staff and clients → Administration and search: administer platform