← All work
Client engagement · 2020–21

Newsletter & Campaign API Backend

A leading Romanian retail bank

Overview

A REST API backend powering a newsletter and campaign sign-up experience for a leading Romanian retail bank. It exposes authenticated endpoints consumed by a companion single-page frontend and handles subscription capture and outbound mail.

The Challenge

The bank needed a lightweight, self-contained service to collect newsletter subscriptions and drive campaign communications without standing up heavyweight infrastructure, while still meeting standard API security expectations (auth, CORS) and a repeatable deployment path.

What We Built

An AdonisJS API server organized into the framework’s conventional app, config, database, and start layers. It uses the Lucid ORM with SQLite-backed migrations and seeds for persistence, the AdonisJS auth and bodyparser layers for request handling, CORS configuration for browser clients, and the mail module for outbound newsletter delivery. Axios is included for outbound integrations. The repo ships with a Dockerfile, environment templates (.env.example, .env.prod), a build.sh, and a GitLab CI pipeline for automated builds.

Technologies & Approach

AdonisJS (Node.js MVC framework) with Lucid ORM and SQLite was chosen for a fast, convention-driven API with minimal operational overhead. Containerization via Docker plus GitLab CI gave a consistent build-and-deploy story across environments.

Outcome / Impact

Delivered a working, deployable subscription/campaign API that paired with the SPA frontend to provide an end-to-end newsletter flow for the bank.

Capabilities Demonstrated

  • Designing and shipping authenticated REST APIs on Node.js
  • ORM-backed data modeling with migrations and seeds
  • CORS and auth configuration for browser-facing services
  • Containerized builds with CI/CD pipelines
  • Transactional/newsletter email integration
More work See all →