Rowshen dükany üçin ýeke-täk Go backend — web sahypa, admin paneli we mobil programma üçin: katalog, sargytlar, dükanlaryň salgylary we mazmun; garaşsyz domen modullary görnüşinde gurnalan.
Meniň rolum
Backend programmist. API-ni, maglumat modelini, autentifikasiýany we admin funksiýalaryny döretdim.
Tehnologiýalar
Go
Echo
GORM
PostgreSQL
JWT
Swagger
Mesele
Dükana birnäçe müşderi programmasy üçin bir backend gerekdi: kategoriýalar, kolleksiýalar, möwsümler we haryt görnüşleri boýunça tertipleşdirilen katalog, ygtybarly sargyt bermek we mazmuny rus we türkmen dillerinde dolandyrýan admin topary.
Arhitektura
Web sahypa, admin paneli we mobil programma GORM arkaly PostgreSQL üstünde Echo bilen gurlan bir REST API-ni ulanýar. Her domen — harytlar, kategoriýalar, kolleksiýalar, sargytlar, ulanyjylar, dükanlar, bannerler, gollanmalar — öz handler, serwis we repozitoriý gatlaklary bolan aýratyn modul. Sargyt we onuň pozisiýalary bir tranzaksiýada ýazylýar.
Esasy çözgütler
01Üç müşderi programmasy üçin bir API
Näme üçin
Biznes düzgünleri — bahalar, harydyň barlygy, sargydyň tapgyrlary — bir ýerde saklanýar, şonuň üçin web sahypa, admin paneli we mobil programma biri-birinden tapawutlanyp başlamaýar.
Kompromis
API üýtgeşmeleri yza gabat gelýän bolmaly, sebäbi mobil programmanyň täzelenmeleri ulanyjylara web deploýlardan has giç ýetýär.
02Her domen üçin bir modul, her birinde üç gatlak
Näme üçin
Handler-ler HTTP bilen, serwisler biznes düzgünleri bilen, repozitoriýalar SQL bilen iş salyşýar. On ikä golaý domen biri-birinden garaşsyz galýar, şonuň üçin olaryň her birini beýlekilerine degmezden synagdan geçirmek we giňeltmek aňsat.
Kompromis
Ýönekeý CRUD üçin has köp faýl we gaýtalanýan kod.
03Sargytlar atomar ýazylýar
Näme üçin
Sargyt we onuň pozisiýalary bir tranzaksiýada döredilýär ýa-da täzelenýär, şonuň üçin şowsuzlyk hiç haçan sargydy harytsyz ýa-da doly hasaplanmadyk jemi bilen galdyrmaýar.
Näme döretdim
Web sahypa, admin paneli we mobil programma üçin ýeke-täk REST API
Kategoriýalar, kolleksiýalar, möwsümler we haryt görnüşleri boýunça tertipleşdirilen katalog
Sargytlar we olaryň pozisiýalary maglumat bazasynyň tranzaksiýalarynyň içinde ýazylýar
Müşderiler we rollara bölünen administratorlar üçin JWT autentifikasiýasy, parollary bcrypt bilen heşlemek
Iş wagty görkezilen dükan salgylary, bannerler we iki dilli (RU/TK) gollanmalar
Ähli API üçin Swagger resminamalary
Sanlarda
bir API-niň hyzmat edýän müşderi programmalary: web sahypa, admin paneli, mobil programma