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