Project Case StudyFebruary 2024

Tomps SaaS Platform

Centralized enterprise gateway providing secure Single Sign-On and subscription-based orchestration for the Tomps product ecosystem.

DesktopNode.jsStrapi CMSExpress.jsRedisPostgreSQLWebSocketsFirebase AdminNodemailer

#Tomps SaaS Platform

##Architectural Overview

Tomps SaaS is the web gateway where organizations explore and purchase subscriptions to the Tomps suite of tools. As a Backend Engineer, I was tasked with integrating the Single Sign-On logic and hooking up payment workflows so users could securely browse, select, and pay for access.
Active Plan Modules

// Active Plan Modules

##Key Features

Subscription Plan Selection
Detailed product tiers allowing companies to filter, select, and review package offerings.
Payment Gateway Integration
Clear checkout screens handling payment instructions, pending payments, or transaction failures seamlessly.
Active Plan Management
User dashboards tracking current subscription status, limits, and historic renewals.
Company Information & Accounts
Standardized forms capturing organizational details and linked administrative profiles.

##Engineering Highlights

###Payment Lifecycle Handling

Dealing with money and status changes safely: - Transactional Consistency: Modeled the specific order states inside PostgreSQL to prevent users from double-paying or having their plan start before confirmation. - CMS Integration: Wrapped the static content (like the pricing and FAQ lists) through Strapi CMS, giving the marketing team direct control over the platform's text without requiring a developer.
Ringkasan Order

// Ringkasan Order

##My Role and Responsibilities

  • Payment Webhooks: Wrote the endpoints securely receiving and verifying transaction callbacks from third-party payment gateways.
  • Identity Provider Setup: Connected the login systems so a single generated token works smoothly across Tomps Building, Project, and Asset sub-domains.
  • Real-Time Delivery: Linked up Socket.io so that once a payment clears, the user's browser refreshes instantly to show their active plan.
  • Automated Renewals: Used Nodemailer and Firebase Admin to gently ping admins when their 30-day package was nearing expiry.
Menunggu Pembayaran

// Menunggu Pembayaran

##Technical Stack

- Languages: Node.js, TypeScript - Content System: Strapi CMS - Database & Cache: PostgreSQL, Redis - Real-time & Sync: WebSockets, Firebase Admin, Nodemailer - Testing Baseline: Mocha, Sinon