News Aggregation API & Article Extraction Service
Overview
The core API server for an internal news-aggregation product, serving content to client apps and ingesting/cleaning articles for readable presentation.
The Challenge
A news app needs a reliable backend that authenticates users, persists structured content, and turns raw web pages into clean, readable articles. The second iteration (“v2”) rebuilt this on a structured MVC framework with migrations and seeds for maintainability.
What We Built
An AdonisJS API application organized into app/, config/, database/ (migrations/seeds) and start/ route definitions. It uses the framework’s authentication, Lucid ORM over PostgreSQL, and Redis for caching/queuing. Article readability/extraction is handled via node-readability, stripping pages down to clean article text. The service is containerized (Dockerfile + docker-compose) and wired to a GitLab CI pipeline.
Technologies & Approach
AdonisJS (Ace CLI, auth, body-parser, CORS, Lucid, Redis modules) on Node.js, PostgreSQL for persistence, Redis for fast access, and node-readability for content cleanup. CI/CD via .gitlab-ci.yml and a build.sh.
Outcome / Impact
Delivered the production API backbone for the news product, pairing with the Forest Admin backoffice for operations, and demonstrating a structured, migration-driven Node backend.
Capabilities Demonstrated
- Structured MVC API development with AdonisJS + Lucid ORM
- Web article extraction/readability processing
- Auth, caching (Redis) and relational persistence
- Dockerized services with GitLab CI/CD