# erserca/sepettakip architecture

> Architecture diagram of the GitHub repository erserca/sepettakip, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/erserca/sepettakip
- Repository: https://github.com/erserca/sepettakip

## Overview

SatışTakip is a marketplace-operations and sales-tracking application for managing stores, orders, products, finance, returns and customer questions across Trendyol and Hepsiburada. Users enter through login or the dashboard, then work in feature pages that use AJAX endpoints for operations; marketplace adapters connect those operations to external services, while cron scripts handle scheduled syncing and queued work. Finance and admin reports present stored business data. The README is empty, and several feature implementations are unsampled, so only evidenced request flows are connected.

Main entry points: [`index.php`](https://github.com/erserca/sepettakip/blob/main/index.php) (Application entry), [`ajax/claims-manage.php`](https://github.com/erserca/sepettakip/blob/main/ajax/claims-manage.php) (Claims operations), [`classes/TrendyolAPI.php`](https://github.com/erserca/sepettakip/blob/main/classes/TrendyolAPI.php) (Trendyol adapter), [`cron/process-queue.php`](https://github.com/erserca/sepettakip/blob/main/cron/process-queue.php) (Queue processor)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and accounts"]
  node_entry["Application entry<br/>[index.php]"]
  node_auth["Authentication<br/>[auth.php]"]
  node_login["Login and registration<br/>[login.php]"]
  node_dashboard["Dashboard<br/>[dashboard.php]"]
end

subgraph group_operations["Marketplace operations"]
  node_stores["Store management<br/>[stores.php]"]
  node_store_add["Add store<br/>[store-add.php]"]
  node_orders["Order management<br/>[orders.php]"]
  node_order_detail["Order details<br/>[order-detail.php]"]
  node_order_sync["Order sync<br/>[order-sync.php]"]
  node_products["Product management<br/>[products.php]"]
  node_product_sync["Product sync<br/>[product-sync.php]"]
  node_stock_update["Stock updates<br/>[update-stock.php]"]
  node_claims["Returns and claims<br/>[claims.php]"]
  node_claims_api["Claims operations<br/>[claims-manage.php]"]
  node_questions["Customer questions<br/>[questions.php]"]
  node_questions_api["Question operations"]
  node_labels["Shipping labels<br/>[create-label.php]"]
end

subgraph group_integrations["Marketplace integrations"]
  node_trendyol["Trendyol adapter<br/>[TrendyolAPI.php]"]
  node_trendyol_base["Trendyol request core<br/>[TrendyolBase.php]"]
  node_hepsiburada["Hepsiburada adapter<br/>[HepsiburadaAPI.php]"]
end

subgraph group_data["Storage and background work"]
  node_database_helper["Database access<br/>[Database.php]"]
  node_database[("Application database")]
  node_queue["Job queue<br/>[QueueManager.php]"]
  node_queue_store[("Queue records")]
  node_auto_sync["Scheduled sync<br/>[auto-sync.php]"]
  node_process_queue["Queue processor<br/>[process-queue.php]"]
end

subgraph group_insights["Finance and administration"]
  node_finance["Finance<br/>[finance.php]"]
  node_finance_report["Finance reports"]
  node_admin_reports["Admin reports<br/>[reports.php]"]
end

node_user(("User"))
node_marketplaces(("Marketplace services"))

node_user -->|"opens"| node_entry
node_entry -->|"checks session"| node_auth
node_entry -->|"redirects"| node_dashboard
node_entry -->|"redirects"| node_login
node_login -->|"authenticates"| node_auth
node_claims -->|"requests claims"| node_claims_api
node_claims_api -->|"calls"| node_trendyol
node_claims_api -->|"calls"| node_hepsiburada
node_trendyol -->|"uses request core"| node_trendyol_base
node_trendyol_base -->|"sends API requests"| node_marketplaces
node_hepsiburada -->|"sends API requests"| node_marketplaces
node_queue -->|"reads and writes"| node_queue_store
node_process_queue -->|"loads and updates jobs"| node_queue_store
node_process_queue -->|"updates stock"| node_trendyol
node_auto_sync -->|"syncs records"| node_database
node_finance -->|"reads transactions"| node_database
node_finance_report -->|"queries finance data"| node_database
node_admin_reports -->|"queries business data"| node_database
node_database_helper -->|"executes queries"| node_database

click node_entry "https://github.com/erserca/sepettakip/blob/main/index.php"
click node_auth "https://github.com/erserca/sepettakip/blob/main/includes/auth.php"
click node_login "https://github.com/erserca/sepettakip/blob/main/pages/login.php"
click node_dashboard "https://github.com/erserca/sepettakip/blob/main/pages/dashboard.php"
click node_stores "https://github.com/erserca/sepettakip/blob/main/pages/stores.php"
click node_store_add "https://github.com/erserca/sepettakip/blob/main/pages/store-add.php"
click node_orders "https://github.com/erserca/sepettakip/blob/main/pages/orders.php"
click node_order_detail "https://github.com/erserca/sepettakip/blob/main/pages/order-detail.php"
click node_order_sync "https://github.com/erserca/sepettakip/blob/main/ajax/order-sync.php"
click node_products "https://github.com/erserca/sepettakip/blob/main/pages/products.php"
click node_product_sync "https://github.com/erserca/sepettakip/blob/main/ajax/product-sync.php"
click node_stock_update "https://github.com/erserca/sepettakip/blob/main/ajax/update-stock.php"
click node_claims "https://github.com/erserca/sepettakip/blob/main/pages/claims.php"
click node_claims_api "https://github.com/erserca/sepettakip/blob/main/ajax/claims-manage.php"
click node_questions "https://github.com/erserca/sepettakip/blob/main/pages/questions.php"
click node_questions_api "https://github.com/erserca/sepettakip/blob/main/ajax/questions-manage.php"
click node_labels "https://github.com/erserca/sepettakip/blob/main/ajax/create-label.php"
click node_trendyol "https://github.com/erserca/sepettakip/blob/main/classes/TrendyolAPI.php"
click node_trendyol_base "https://github.com/erserca/sepettakip/blob/main/classes/Trendyol/TrendyolBase.php"
click node_hepsiburada "https://github.com/erserca/sepettakip/blob/main/classes/HepsiburadaAPI.php"
click node_finance "https://github.com/erserca/sepettakip/blob/main/pages/finance.php"
click node_finance_report "https://github.com/erserca/sepettakip/blob/main/ajax/financial-report.php"
click node_admin_reports "https://github.com/erserca/sepettakip/blob/main/pages/admin/reports.php"
click node_database_helper "https://github.com/erserca/sepettakip/blob/main/classes/Database.php"
click node_queue "https://github.com/erserca/sepettakip/blob/main/classes/QueueManager.php"
click node_auto_sync "https://github.com/erserca/sepettakip/blob/main/cron/auto-sync.php"
click node_process_queue "https://github.com/erserca/sepettakip/blob/main/cron/process-queue.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_auth,node_login,node_dashboard,node_user toneBlue
class node_stores,node_store_add,node_orders,node_order_detail,node_order_sync,node_products,node_product_sync,node_stock_update,node_claims,node_claims_api,node_questions,node_questions_api,node_labels toneAmber
class node_trendyol,node_trendyol_base,node_hepsiburada toneMint
class node_database_helper,node_database,node_queue,node_queue_store,node_auto_sync,node_process_queue toneRose
class node_finance,node_finance_report,node_admin_reports,node_marketplaces toneIndigo
```

## Components

### Access and accounts

- [Application entry](https://github.com/erserca/sepettakip/blob/main/index.php): `index.php`
- [Authentication](https://github.com/erserca/sepettakip/blob/main/includes/auth.php): `includes/auth.php`
- [Login and registration](https://github.com/erserca/sepettakip/blob/main/pages/login.php): `pages/login.php`
- [Dashboard](https://github.com/erserca/sepettakip/blob/main/pages/dashboard.php): `pages/dashboard.php`

### Marketplace operations

- [Store management](https://github.com/erserca/sepettakip/blob/main/pages/stores.php): `pages/stores.php`
- [Add store](https://github.com/erserca/sepettakip/blob/main/pages/store-add.php): `pages/store-add.php`
- [Order management](https://github.com/erserca/sepettakip/blob/main/pages/orders.php): `pages/orders.php`
- [Order details](https://github.com/erserca/sepettakip/blob/main/pages/order-detail.php): `pages/order-detail.php`
- [Order sync](https://github.com/erserca/sepettakip/blob/main/ajax/order-sync.php): `ajax/order-sync.php`
- [Product management](https://github.com/erserca/sepettakip/blob/main/pages/products.php): `pages/products.php`
- [Product sync](https://github.com/erserca/sepettakip/blob/main/ajax/product-sync.php): `ajax/product-sync.php`
- [Stock updates](https://github.com/erserca/sepettakip/blob/main/ajax/update-stock.php): `ajax/update-stock.php`
- [Returns and claims](https://github.com/erserca/sepettakip/blob/main/pages/claims.php): `pages/claims.php`
- [Claims operations](https://github.com/erserca/sepettakip/blob/main/ajax/claims-manage.php): `ajax/claims-manage.php`
- [Customer questions](https://github.com/erserca/sepettakip/blob/main/pages/questions.php): `pages/questions.php`
- [Question operations](https://github.com/erserca/sepettakip/blob/main/ajax/questions-manage.php): `ajax/questions-manage.php`
- [Shipping labels](https://github.com/erserca/sepettakip/blob/main/ajax/create-label.php): `ajax/create-label.php`

### Marketplace integrations

- [Trendyol adapter](https://github.com/erserca/sepettakip/blob/main/classes/TrendyolAPI.php): `classes/TrendyolAPI.php`
- [Trendyol request core](https://github.com/erserca/sepettakip/blob/main/classes/Trendyol/TrendyolBase.php): `classes/Trendyol/TrendyolBase.php`
- [Hepsiburada adapter](https://github.com/erserca/sepettakip/blob/main/classes/HepsiburadaAPI.php): `classes/HepsiburadaAPI.php`

### Storage and background work

- [Database access](https://github.com/erserca/sepettakip/blob/main/classes/Database.php): `classes/Database.php`
- **Application database**
- [Job queue](https://github.com/erserca/sepettakip/blob/main/classes/QueueManager.php): `classes/QueueManager.php`
- **Queue records**
- [Scheduled sync](https://github.com/erserca/sepettakip/blob/main/cron/auto-sync.php): `cron/auto-sync.php`
- [Queue processor](https://github.com/erserca/sepettakip/blob/main/cron/process-queue.php): `cron/process-queue.php`

### Finance and administration

- [Finance](https://github.com/erserca/sepettakip/blob/main/pages/finance.php): `pages/finance.php`
- [Finance reports](https://github.com/erserca/sepettakip/blob/main/ajax/financial-report.php): `ajax/financial-report.php`
- [Admin reports](https://github.com/erserca/sepettakip/blob/main/pages/admin/reports.php): `pages/admin/reports.php`

### Other components

- **User**
- **Marketplace services**

## Connections

- User → Application entry: opens
- Application entry → Authentication: checks session
- Application entry → Dashboard: redirects
- Application entry → Login and registration: redirects
- Login and registration → Authentication: authenticates
- Returns and claims → Claims operations: requests claims
- Claims operations → Trendyol adapter: calls
- Claims operations → Hepsiburada adapter: calls
- Trendyol adapter → Trendyol request core: uses request core
- Trendyol request core → Marketplace services: sends API requests
- Hepsiburada adapter → Marketplace services: sends API requests
- Job queue → Queue records: reads and writes
- Queue processor → Queue records: loads and updates jobs
- Queue processor → Trendyol adapter: updates stock
- Scheduled sync → Application database: syncs records
- Finance → Application database: reads transactions
- Finance reports → Application database: queries finance data
- Admin reports → Application database: queries business data
- Database access → Application database: executes queries
