api.php - ეს api.php წაიკითხავს ორ JSON–ს Neotech–იდან, მოაწყობს კატეგორიებს + ჩააგდებს შიგნით შესაბამის პროდუქტებს და frontend-ს აძლევს ერთიან, გასაგებ JSON-ს.

category.php → მარტო კატეგორიების JSON წამოიღებს Neotech-იდან და frontend-ს სუფთა კატეგორიების სია დაუბრუნოს.

check_voucher.php - ამოწმებს ვაუჩერის ვალიდურობას

get_categories.php - პირდაპირ შენი SQL ბაზიდან იღებს კატეგორიებს და JSON ფორმატში აბრუნებს, რომ საიტზე გამოვიდეს კატეგორიების სია (ორ ვარიანტად: flat list + tree). ანუ ეს ფაილი არის ხიდი MySQL → frontend-სკენ

get_category_aliases.php - ეს ფაილი არის კატეგორიების ალტერნატიული სახელების/alias-ების მომწოდებელი API.
გამოიყენება იმისთვის, რომ frontend-ზე კატეგორიებს ჰქონდეს სასურველი "Display Name", რიგითობა და მშობელი–შვილი კავშირი.

get_products.php - ევალება:
მოიტანოს ყველა პროდუქტი შენი SQL ბაზიდან
თითოეულს მიაბას ყველა სურათი product_images ცხრილიდან
სწორად დაუთვალოს ფასდაკლება/ფინალური ფასი
დააბრუნოს შედეგი JSON ფორმატში, რომ frontend-მა გამოიყენოს
ანუ ეს ფაილი არის შენი პროდუქტების მომწოდებელი API.

product.php - პროდუქციის გვერდში ტვირტავს პროდუქციის ინფორმაციას ბაზიდან და სხვა JSON ფაილებიდან. სერვერSIDE პროდუქტის ლენდინგი + სრულფასოვანი share/SEO მეტა და მინიმალური UI, რომ ბოთებმა სწორად დაინახონ, ხოლო მომხმარებელმა—სასიამოვნოდ.

save_category_alias.php - უზრუნველყობს კატეგორიებზე ჩემს მიერ შეცვლიი სახელების გამჩენას ინტერფეისზე და განახლებულ კატეგორიებზე ჩემი დარქმეული სახელით გამოტანას ფრონტენდში.

save_order.php - ინახავს საიტზე გაფორმებულ შეკვეტებს.

sync_categories.php - ევალება, რომ Neotech-იდან წამოიღოს განახლებული category.json და ის შენების ბაზის cats_tmp ცხრილში ჩაიწეროს/განახლდეს (UPSERT).
ანუ უზრუნველყოფს, რომ შენი SQL ბაზა ყოველთვის ჰქონდეს ნეოტექის ბოლო კატეგორიები.

update_products.php - ანუ ეს სკრიპტი არის შენი პროდუქტების/კატეგორიების სრულმასშტაბიანი სინქრონიზატორი API-იდან → MySQL-ში, სურათებით და სტატისტიკით.


ბრო, მოკლედ არქიტექტურა ასე მუშაობს 👇

სინქი Neotech → შენი SQL

sync_categories.php — კატეგორიებს ქაჩავს Neotech-იდან და წერს cats_tmp-ში.

update_products.php — ქაჩავს პროდუქტებს/კატეგორიებს API-ებიდან და წერს products, product_images (და categories) ცხრილებში.

(ეს ორი ჩვეულებრივ CRON-ით ცხადდება.)

ვებზე გატანა SQL-იდან

get_categories.php — კითხულობს კატეგორიებს შენს SQL-იდან და აძლევს frontend-ს JSON-ად.

get_products.php — კითხულობს პროდუქტებს + სურათებს SQL-იდან, ითვლის ფასდაკლებას და აბრუნებს JSON-ს.

product.php — კონკრეტული პროდუქტის გვერდი (SEO/OG), რომელიც default-ადაც ამ API-ებს ეყრდნობა.

👉 ანუ შენებური განახლება “მაშინვე” ჩანს, როგორც კი sync_categories.php / update_products.php ჩაწერას დაასრულებს DB-ში — იმიტომ რომ საიტი კითხულობს პირდაპირ შენი SQL-იდან (get_*.php ენდფოინტებით).

⚠️ მხოლოდ ორი გამონაკლისი, რაც შეიძლება 1–5 წუთით შეაფერხოს:

product.php-ში არის მარტივი 5 წუთიანი ფაილ-ქეში პროდუქტების სიაზე.

თუ გაქვს ჩართული ბრაუზერის/CDN ქეში (SpeedyCache/Cloudflare), შეიძლება ცოტათი დაყოვნდეს.

თუ გინდა „მყისიერი“ ხედვა ტესტზე, შეგიძლია დროებით გამორთო ქეში ან შეამცირო product.php-ში CACHE_TTL.

