Shirtee

A worldwide platform for individual creation of clothes and accessories with unique designs.
Shirtee Cover

Achtergrond

Onze cliƫnt runt een wereldwijd platform van zelfontworpen en op maat gemaakte kleding en accessoires. Ze bieden ook een aantal diensten aan zoals: het maken van een uniek ontwerp met behulp van de productontwerper, het bedrukken van een basisproduct en de levering van producten aan eindgebruikers. Deze print-on-demand producten kunnen worden gemaakt met eigen ontwerp of met de ontwerpen die door designers worden verkocht. Designers die via het platform van de cliƫnt werken, ontvangen een commissie op de prijzen die zij persoonlijk voor elk verkocht product hebben vastgesteld. De cliƫnt doet ook aan multichannel verkoop door producten te exporteren naar de grootste platforms (zoals Amazon & Google Shopping) en biedt de mogelijkheid tot product acties.

Onze samenwerking met de cliƫnt begon in 2014. Er bestond al een website die door een andere partij was ontwikkeld, maar de zoektocht naar een productpersonalisatie functie dwong hen om een snelle manier te vinden om dit toe te voegen. Ze ontdekten de GoMage Product Designer extensie waarmee gebruikers in letterlijk drie klikken een product met een eigen ontwerp kunnen maken.

Onze cliƫnt wilde een aantal wijzigingen aanbrengen op basis van hun specifieke zakelijke behoeften. Na de extensie op maat te hebben gemaakt, besloot onze cliƫnt op lange termijn met ons te blijven samenwerken. Ons team zorgt nu voor doorlopende ontwikkeling en ondersteuning en zorgt ervoor dat de website van de cliƫnt zonder problemen functioneert.

Belangrijkste Resultaten:

10
keer meer snelheid
600
keer toename in maandelijkse inkomsten

Ontwikkeling

Case 1: GoMage Product Designer Aanpassing

Uitdaging

Onze cliƫnt wilde nieuwe functionaliteit toevoegen aan zijn website voor print-on-demand diensten. Ze kozen voor onze GoMage Product Designer extensie en hadden hulp nodig bij het aanpassen hiervan.

Oplossing

Ons team heeft de GoMage Product Designer extensie geĆÆnstalleerd Ć©n aangepast in lijn met de zakelijke behoeften van de cliĆ«nt. Omdat we een bestaande GoMage extensie konden gebruiken, is er veel tijd bespaard op de ontwikkeling.

Resultaat

De webshop heeft functionaliteit waarmee klanten producten (T-shirts, bekers, enz.) kunnen personaliseren met hun eigen ontwerp.

Ontwikkeling

Case 2: Statistieken Module Ontwikkeling

Uitdaging

Na de succesvolle integratie van de GoMage Product Designer extensie besloot onze cliƫnt om het bedrijfsmodel te veranderen. Ze stelden hun website open voor ontwerpers en maakten er een multi-vendor crowdfunding platform van. De opdracht was om een volledig nieuwe dienst te ontwikkelen die de volgende statistieken aan designers zou tonen:

  • afgeronde orders
  • lopende bestellingen
  • aantal bezoekers
  • winst
  • conversie, enz.

"Een groot aantal queries (de statistieken verzamelen gegevens op basis van 10+ parameters voor elk van de 50.000+ ontwerpers op de site) veroorzaakte extreme overbelasting van de server die niet was ontworpen voor taken van deze omvang waardoor de website en database trager werden.ā€

Oplossing

Elke designer heeft nu een eigen dashboard waar hij/zij alle producten en verkoopstatistieken kan zien. In eerste instantie werden de statistieken verzameld en verwerkt aan de Magento kant. Een groot aantal queries (de statistieken verzamelen gegevens op basis van 10+ parameters voor elk van de 50.000+ ontwerpers op de site) veroorzaakte extreme overbelasting van de server die niet was ontworpen voor taken van deze omvang, waardoor de website en database trager werden. We hebben daarom een aparte dienst voor statistieken ontwikkeld die onafhankelijk van Magento werkt:

  • Alle data met betrekking tot statistieken wordt naar een aparte database gestuurd die zich op een aparte server bevindt.
  • Wanneer een query van Magento wordt ontvangen, worden de gegevens naar een queue gestuurd.
  • Daarna wordt de data naar het dashboard van een specifieke gebruiker gestuurd zonder via het platform te laden.

We hebben de oplossing met succes geĆÆmplementeerd met behulp van een hele reeks technologieĆ«n, waaronder het webframework Lavarel en met gebruik van een up-to-date database die in staat is om in realtime analytische rapporten te maken, ClickHouse.

Resultaat

With the statistics, service moved to a separate server, and the data processed outside of Magento using solutions specifically developed for high-load applications, we significantly improved the customer’s website performance and loading speed.

Case 3: Ontwikkeling van een Aangepaste Product Entiteit

Uitdaging

Nadat de wijzigingen aan de website waren aangebracht, werd het platform in een mum van tijd razend populair. Het aantal producten groeide van een paar duizend naar een paar miljoen en bleef in sneltreinvaart groeien. Magento was niet ontworpen voor dit soort belasting en daarom moest ons team op zeer korte termijn een oplossing vinden.

Oplossing

We hebben een complexe oplossing voor deze taak gekozen en een aangepaste entiteit gemaakt die wordt gebruikt in plaats van de zware standaard Magento producten. We hebben de werking van Magento herschreven zodat het functioneert met de aangepaste entiteiten.

Ons team heeft een nieuwe productgroep geĆÆmplementeerd - een campagne, dat is een set van configureerbare producten met Ć©Ć©n ontwerp, maar met individuele opties (bv. maat en kleur) voor elk. Een designer kan alleen een campagne aanmaken wanneer er geen afzonderlijke configureerbare producten met individuele afdrukken worden gemaakt. Alleen de beheerders van Shirtee kunnen nieuwe configureerbare producten creĆ«ren (bijvoorbeeld een nieuw T-shirt met V-hals, een keramische mok met een rond handvat, enz.) en doen dit ook regelmatig.

Het aantal campagnes blijft groeien. De cliƫnt heeft er momenteel 2.533.651 die elk tot 100 verschillende producttypes kunnen bevatten. Er kunnen dus maximaal 30 miljoen+ afzonderlijke configureerbare producten zijn die zonder onze aanpassingen moeten worden aangemaakt. Magento is standaard niet in staat om met dit soort product aantallen om te gaan.

Om alle nodige veranderingen door te voeren, moest ongeveer 70% van de functionaliteit van de website opnieuw worden ontwikkeld. We hebben een team van ontwikkelaars toegewezen om alle wijzigingen in recordtijd door te voeren.

Resultaat

We hebben onze cliƫnt geholpen bij de implementatie van hun concept om elke gebruiker de mogelijkheid te bieden een productset te creƫren (een T-shirt, een mok, een tas, enz.) met eigen unieke ontwerp, waarbij meerdere configureerbare producten worden gecreƫerd zonder de site en het Magento-platform te overbelasten.

Het aantal producten blijft groeien en op dit moment heeft onze cliƫnt 29 miljoen productvarianten. Zelfs met een belasting van dit formaat werkt de website snel en levert hij een optimale klantervaring.

Server Optimalisatie & 24/7 Support

Uitdaging

De cliĆ«nt heeft een zeer populaire website met dagelijks meer dan 15.000 bezoekers wat voor een hoge serverbelasting zorgt. De site stond oorspronkelijk op twee servers die dit grote aantal bezoekers niet aankonden. VĆ³Ć³r de optimalisatie duurde de laadtijd van de hoofdpagina 18 seconden en die van de productontwerppagina 59 seconden. Daarnaast daalden de prestaties van de website aanzienlijk als meer dan 10 gebruikers tegelijk aan de product ontwerper werkten. Dat was iets wat de klant wilde verbeteren.

ā€œHet aantal campagnes blijft groeien, de cliĆ«nt heeft er momenteel 2.533.651 die elk tot 100 verschillende producttypes kunnen bevatten. Er kunnen dus maximaal 30 miljoen+ afzonderlijke configureerbare producten zijn die zonder onze aanpassingen moeten worden aangemaakt.ā€

Oplossing

Ons team ontwikkelde een complexe structuur van 34 servers. Alle websitediensten werden overgebracht naar aparte servers:

  • aparte servers voor ontwikkel- en test-omgevingen
  • 2 servers voor productie + 8 hulpservers
  • 2 servers voor databases: Ć©Ć©n voor de productie en Ć©Ć©n voor de ontwikkel- en test-omgeving
  • hulpdiensten voor het verbeteren van de prestaties van dynamische websites met zware inhoud
  • server voor opslag van mediabestanden
  • statistiekenserver
  • 2 servers voor API-diensten enz.

Een aparte server wordt gebruikt om de prestaties van de totale serverstructuur te controleren. Het verzamelt statistieken van de andere servers, controleert hun belasting, beschikbare schijfruimte en werking van ondersteunende diensten, en informeert vervolgens het support team over eventuele geconstateerde problemen.

Om een goede werking van de website tijdens de drukste periodes (24.000+ bezoekers per dag) te verzekeren, gebruiken wij de Load Balancer die live sitebezoekers herverdeeld tussen de servers, afhankelijk van de belasting van elke server.

Standalone Media Dienst

De cliƫnt gebruikt een enorm aantal verschillende afbeeldingen met een algemene grootte van meer dan 11 TB - een extreem groot datavolume voor Magento. Alle handelingen met betrekking tot deze afbeeldingen werden uitgevoerd aan de kant van Magento (verwerking, conversie, opslag), wat de laadtijden van de pagina's verlengde en extra serverbelasting veroorzaakte. We hebben alle afbeelding-gerelateerde handelingen verplaatst naar een aparte server waar de afbeeldingen worden opgeslagen en opgehaald door bijbehorende queries zonder Magento te overbelasten.

Resultaat

ā€œ..de laadtijd van de hoofdpagina is 6x sneller geworden (3 seconden) en de laadtijd van de product constructor pagina is bijna 10x sneller geworden (6 seconden). Nu hebben zelfs 4000 actieve gebruikers die tegelijkertijd werken geen invloed op de prestaties van de website.ā€

Dankzij de optimalisatie is de laadtijd van de hoofdpagina 6x sneller geworden (3 seconden) en is de laadtijd van de product constructor pagina bijna 10x sneller geworden (6 seconden). Nu hebben zelfs 4000 actieve gebruikers die tegelijkertijd werken geen invloed op de prestaties van de website. De hostingkosten zijn ook 4x minder geworden ($1000 voor 34 servers per maand) en alle servers werken optimaal.

Magento Ondersteuning

We werken voortdurend aan de ontwikkeling van de site van de cliƫnt om ervoor te zorgen dat de live site probleemloos werkt en er geen negatieve gevolgen zijn voor de onderneming.

Ondersteunende taken:

  • implementatie van nieuwe functionaliteit ongeacht de complexiteit van de ontwikkeling
  • aanpassing van bestaande functies
  • constante controle van de werking van de site en opsporing van storingen
  • serveronderhoud

Realization

Afhankelijk van het aantal voltooide taken kunnen we meerdere releases per maand doen. Alle nieuw ontwikkelde functies worden eerst gecontroleerd door onze QA-specialisten op een speciaal daarvoor gecreƫerde ontwikkelingsserver. Als er geen fouten zijn, worden alle nieuwe functies verplaatst naar een test server die identiek is aan de live site van de cliƫnt.

Met behulp van een aantal automatische tests wordt nagegaan of de nieuwe functie extra belasting veroorzaakt en of deze goed samenwerkt met de bestaande functionaliteit. Deze aanpak stelt ons in staat de kans op fouten te verkleinen en ze te herstellen voordat we de nieuwe functie uitbrengen op de live site van de cliƫnt.

De cliƫnt kan de voortgang van de taken bekijken op YouTrack - de issue tracker die door ons team wordt gebruikt om alle informatie over het ontwikkelingsproces en de hoeveelheid tijd die aan elke taak is besteed bij te houden.

Voor het beheren van de code en het continue integratieproces gebruiken wij GIT, het versiebeheersysteem dat alle code wijzigingen en releases opslaat, zodat wij in het onwaarschijnlijke geval van een fout alles gemakkelijk kunnen terugbrengen naar een vorige release-status.

Resultaat

We werken nu al meer dan 5 jaar aan het verbeteren van de website van de cliƫnt met ongeveer ƩƩn release per week. Het aantal designers dat op het platform werkt is met 10x toegenomen en het aantal klanten is sterk gegroeid in het afgelopen jaar. Wij zien deze cijfers over het succes en de groei van de onderneming van de cliƫnt als bewijs dat wij ons werk goed hebben gedaan.

"We werken nu al meer dan 5 jaar met GoMage en we zijn erg onder de indruk van hoe duidelijk hun team al onze ideeƫn begrijpt en uitvoert. Vanaf het begin van onze samenwerking is ons bedrijf verschillende keren gegroeid, waardoor onze site nu elke dag veel meer klanten moet kunnen verwerken. GoMage heeft uitstekend werk verricht door onze site aan te passen en de mogelijkheden ervan uit te breiden.
Ik aarzel niet om GoMage aan te bevelen aan iedereen die een website wil ontwikkelen.ā€
Nino Boender
Oprichter

Contact us
Fill in the data using social media accounts
Thank you!
We will contact you shortly