Esasy mazmuna geç
Ähli proýektler

Elektron söwda · Go backend

Rowshen — Elektron söwda platformasy

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

Rowshen — Elektron söwda platformasy — Arhitektura diagrammasyWebsiteAdmin panelMobile appREST APIGo · Echo · JWTDomain moduleshandler · servicePostgreSQLcatalog · orders · shops
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

  1. 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.
  2. 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.
  3. 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
3