Skip to content

Boot and Routing

  1. server.js creates the HTTP server and starts listening on the configured PORT.

  2. app.js runs: loads env vars, connects to MongoDB, registers Express middleware (CORS, body parsing, etc.), and mounts all routes.

  3. On successful MongoDB connection, the cron scheduler initializes and starts polling RSS feeds on an hourly schedule.

Method Path Access Purpose
ALL /api/v1/auth/* Public Login and register
ALL /api/v1/article/* JWT + admin Article CRUD, publish, and moderation
ALL /api/v1/sites/* JWT + admin Hosted site management
ALL /api/v1/tags/* Mixed Tag list (authenticated) and admin CRUD
ALL /api/v1/category/* JWT + admin Category management
ALL /api/v1/section/* JWT + admin Section management
ALL /api/v1/geo/* JWT + admin Geographic data management
ALL /api/v1/publisher/* JWT + role checks Publisher admin and self-service feed
ALL /api/v1/client/* API key Read-only content for child-site frontends
POST /api/v1/sign-s3 Authenticated Generate pre-signed S3 upload URLs
ALL /api/v1/contact/* Public Contact form submissions

/api/v1/client is the boundary between backend management and downstream child-site consumption. Only read operations are available through this group.