Project

General

Profile

Actions

User Story #825

open

EPIC #816: Package Discovery & Search

Feature #817: Home Page

backend # Homepage Content API

Added by Islam Mansoori about 1 month ago. Updated about 1 month ago.

Status:
To Do
Priority:
low
Assignee:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

As a System, I want to provide all homepage content through a single optimized API so that the homepage loads quickly with minimal API calls.


Feature Background

The Homepage Content API serves as a single backend endpoint that aggregates all content required to render the website homepage. It reduces multiple frontend requests by returning homepage data in a single response, improving performance and user experience.


In Scope

The backend shall provide a single API:

GET /api/homepage

The API shall return:

  • Hero Banners
  • Featured Packages
  • Popular Destinations
  • Active Offers
  • Latest Blogs / Travel Guides

Sample Response

{
  "heroBanners": [],
  "featuredPackages": [],
  "popularDestinations": [],
  "offers": [],
  "blogs": []
}

Out of Scope (Phase 2)

  • Testimonials
  • Personalized Homepage Content
  • Recommended Packages
  • Recently Viewed Packages
  • Dynamic Widgets
  • A/B Testing Content
  • User-specific Homepage
  • Multiple Homepage Layouts
  • CMS-driven Homepage Configuration

Business Rules

  • Only Active Hero Banners shall be returned.
  • Only Published Packages shall appear in Featured Packages.
  • Only Published Blogs/Travel Guides shall be returned.
  • Only Active Offers within their validity period shall be displayed.
  • Popular Destinations shall be retrieved from active package data.
  • Empty sections shall return an empty array instead of null.

Backend Responsibilities

  • Develop a consolidated GET /api/homepage endpoint.
  • Aggregate data from Banner, Package, Offer, Blog, and Destination modules.
  • Return a standardized JSON response.
  • Enable response caching to improve performance.
  • Enable response compression.
  • Handle partial data gracefully without failing the entire response.

Acceptance Criteria

  • A single API returns all homepage content required by the frontend.
  • Response includes Hero Banners, Featured Packages, Popular Destinations, Offers, and Blogs.
  • API response time is less than 2 seconds under normal load.
  • Response caching is enabled.
  • Response compression is enabled.
  • Empty sections return empty arrays.
  • API returns a consistent response structure for frontend consumption.
Actions #1

Updated by Islam Mansoori about 1 month ago

  • Description updated (diff)
Actions

Also available in: Atom PDF