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