How diediegodie/tattoo_studio_system_v4 works
This is a Flask-based tattoo-studio operations platform. Studio staff use its web/API routes to manage clients, appointments and sessions, inventory, payments, expenses, and financial statements; the system also supports search, reporting, calendar synchronization, JotForm client intake, OAuth login, and backups. The documented architecture places Flask between users and PostgreSQL, with Google and JotForm integrations. Sampled source confirms app route registration, inventory controller-to-service/repository calls, and direct database work in selected controllers/services; unsampled feature wiring is kept at subsystem level rather than inferred.
Main entry points: main.py Flask app · base.py PostgreSQL · client_service.py Client service · auth_controller.py Authentication
Components 26
Application
- Flask app
backend/app/main.py - Authentication
backend/app/controllers/auth_controller.py - API routes
backend/app/controllers/api_controller.py
Studio operations
- Client routes
backend/app/controllers/client_controller.py - Session routes
backend/app/controllers/sessoes_controller.py - Inventory routes
backend/app/controllers/inventory_controller.py - Inventory service
backend/app/services/inventory_service.py - Inventory repository
backend/app/repositories/inventory_repository.py - Client service
backend/app/services/client_service.py - Client repository
backend/app/repositories/client_repo.py - JotForm intake
backend/app/services/jotform_service.py - Calendar routes
backend/app/controllers/calendar_controller.py - Calendar service
backend/app/services/google_calendar_service.py - Search routes
backend/app/controllers/search_controller.py - Global search
backend/app/services/search_service.py
Finance
- Finance routes
backend/app/controllers/financeiro_controller.py - Expense routes
backend/app/controllers/gastos_controller.py - History and statements
backend/app/controllers/historico_controller.py - Statement processing
backend/app/services/extrato_generation.py - Reports
backend/app/controllers/reports_controller.py
Platform services
- PostgreSQL
backend/app/db/base.py - Google OAuth
backend/app/auth/google_login.py - Backup service
backend/app/services/backup_service.py
Other components
- Studio staff
- JotForm API
- Google Calendar
Connections 33
- Studio staff → Flask app: uses
- Flask app → Authentication: dispatches
- Flask app → API routes: dispatches
- Flask app → Client routes: dispatches
- Flask app → Session routes: dispatches
- Flask app → Inventory routes: dispatches
- Flask app → Calendar routes: dispatches
- Flask app → Finance routes: dispatches
- Flask app → Expense routes: dispatches
- Flask app → History and statements: dispatches
- Flask app → Search routes: dispatches
- Flask app → Reports: dispatches
- Authentication → Google OAuth: starts login
- Google OAuth → PostgreSQL: stores tokens
- Client routes → Client service: manages clients
- Client service → Client repository: persists clients
- JotForm intake → JotForm API: fetches submissions
- Client service → JotForm intake: synchronizes intake
- Session routes → PostgreSQL: reads and writes
- Inventory routes → Inventory service: calls
- Inventory service → Inventory repository: persists items
- Inventory repository → PostgreSQL: reads and writes
- Calendar routes → Calendar service: calls
- Calendar service → Google Calendar: syncs events
- Finance routes → PostgreSQL: reads and writes
- Expense routes → PostgreSQL: reads and writes
- History and statements → PostgreSQL: reads and writes
- API routes → Statement processing: generates statements
- Statement processing → PostgreSQL: processes records
- Search routes → Global search: searches
- Global search → PostgreSQL: queries records
- Reports → PostgreSQL: reads reports data
- Backup service → PostgreSQL: backs up data