Egy automatizált, PHP-alapú mikroszolgáltatás, amely külső API-ból kéri le az aktuális valuták (EUR, USD, GBP) HUF-alapú árfolyamait, és azokat egy biztonságos MySQL adatbázisban tárolja, illetve frissíti.
A projekt a Clean Code, a DRY (Don't Repeat Yourself) elvek és a hatékony adatbázis-optimalizálás figyelembevételével készült.
- Dinamikus API integráció: Egyetlen, paraméterezhető cURL alapú függvény kezeli az összes valutanem lekérését, megszüntetve a kódismétlést.
- Többvalutás támogatás: Egyidejűleg képes kezelni az EUR, USD és GBP alapú árfolyamokat.
- Intelligens Adatbázis Kezelés: Az
ON DUPLICATE KEY UPDATEhasználatával megelőzi a duplikált sorok létrejöttét, és kényszeríti az időbélyeg frissítését változásmentes napokon is. - Preprepared Statements: Az SQL utasítások előkészítése a ciklusokon kívül történik az adatbázis-terhelés minimalizálása érdekében.
- Hibakezelés (Error Handling): Teljes körű
try-catchblokkok és API/Adatbázis ellenőrzések a stabil futásért.
- Backend: PHP 8.x (cURL, PDO kiterjesztések)
- Adatbázis: MySQL 8.x
- API Forrás: Open Exchange Rates API (er-api.com)
A rendszer a currency_rates táblát használja az alábbi mezőkkel:
| Mező | Típus | Leírás |
|---|---|---|
id |
INT (PK, AI) | Egyedi azonosító |
currency_code |
VARCHAR(3) (UNIQUE) | A valuta ISO kódja (pl. EUR, USD) |
rate_to_huf |
DECIMAL(10,4) | Az aktuális forint árfolyam |
updated_at |
TIMESTAMP | Az utolsó sikeres szinkronizáció időpontja |
- Adatbázis előkészítése: Hozd létre a
data_synchronizeradatbázist, és benne acurrency_ratestáblát (ügyelve acurrency_codeegyedi indexére). - Konfiguráció: Az
index.phpfájl elején állítsd be a saját MySQL hozzáférési adataidat ($user,$pass). - Futtatás: Nyisd meg a parancssort és futtasd a fájlt:
php index.php