GRPN - tech case study

Radim Štěpaník

 👀 CTO

👷 Teamleader
👩‍💻 JS developer

🎤 Moderator

🎸 Guitarist, 🚵‍♂️ Biker
👨‍👧 Parent

 🎧 Listen on spotify 

🐦 Follow me on twitter

kinapets

QCAST

GRPN

  • Go fast as you can
  • Scallable
  • Agile or Chaos - lack of project specification
  • Control technical debt
  • Onboard 10+ people in two months

 

Our weapons

  • Infrastructure
    • GCP
    • Cloudflare
  • Common
    • nx
    • docusaurus
  • Backend
    • apollo
    • typeorm
    • tsyringe
  • Frontend
    • next.js
    •  

In one month

  • products management 
    • deals 
    • variants
  • login 
    • with SSO
    • keycloack
  • cart 
  • order in progress
  • system settings
  • administration
  • dev environment - GCP

Docusaurus

  • Key Features
    • Markdown-based content creation
    • Easy customizability with React components
    • Built-in search
    • versioning for documentation
    • Lightweight and fast
  • Process
    • pull requests
    • reviews

Architecture

Data flow

Admin js

  • Admin JS is a JavaScript library for building administrative interfaces
  • It provides a set of reusable components and tools for creating intuitive, user-friendly dashboards and control panels

Dependency injection - tsyringe

  • TSyringe is a dependency injection library for TypeScript applications
  • It allows developers to manage the dependencies between components in a scalable and maintainable way
  • TSyringe uses TypeScript's type system to ensure that the right dependencies are being injected into components
  • It helps to improve code readability and reduces the amount of boilerplate code

GCP - Cloud run

  • Serverless computing
  • Automatic scalability
  • Cost-effective
  • Seamless integration with Google Cloud
  • Built-in environment variables and secrets management
gcloud run deploy server

One command:

GCP - Cloud run

GRPN - tech case study

By Radim Štěpaník

GRPN - tech case study

  • 174