All projects
Full Stack case study

Delta Loyalty Platform

An employee-operations platform for points, rewards, activities, communications, directories, app delivery, and wellness workflows.

Delta original Reward Order Management UI
Original Delta codebase UI running locally against a fictional reward-order API seed.

Project introduction

Delta is an internal employee-experience and operations platform with a Nuxt admin and two backend services. It covers points and rewards, stock and redemption, activities and celebrations, content, notifications, directories, chat, mobile-app version management, and wellness workflows.

What I worked on

  • Implemented modular Nuxt/Vuetify administration workflows and permission-aware navigation
  • Built AdonisJS/Lucid APIs backed by PostgreSQL, with Microsoft SQL Server connections for employee and calendar data
  • Developed a dedicated NestJS/TypeORM service for point balances, reward stock, redemption, and transaction history
  • Supported S3-compatible uploads, Firebase Cloud Messaging, Socket.IO updates, migrations, and audit-oriented history

Architecture

The AdonisJS API owns the broad employee application and integrations. The dedicated NestJS service isolates point and reward operations in PostgreSQL, giving balances, stock changes, and redemption history a clearer boundary. The admin brings both service surfaces into one operational interface.

Outcome

Operations teams can manage interconnected employee programs from one interface while sensitive point and reward changes remain explicit and traceable.

Core feature walkthrough

How the main product workflows operate

Core feature 01 · Point and reward transaction

A redemption coordinates balance, order history and inventory inside one transaction

The point-management service treats redemption as a multi-record operation. It locks the selected reward, validates eligibility, burns points, creates a waiting fulfilment record and commits only when every database step succeeds.

Member redemption

NestJS · TypeORM · PostgreSQL · Decimal arithmetic

Select a node for implementation detail
Points use Decimal

Balance and point cost avoid floating-point arithmetic, and every earn or burn writes a separate history record.

The reward row is locked

A pessimistic write lock is the concurrency boundary around validation and redemption.

Verified implementation boundary

In the supplied snapshot, reduceRewardAndProductQuantity validates reward/product existence but does not yet persist the decrement. The diagram does not claim complete oversell protection until that method is finished and tested.