Skip to main content

Modeling Political Scandals with Source Metadata and Timeline Hierarchy

· 2 min read
JavaScript Dev

Overview​

Scandals are not just stories—they’re structured data. I wanted to capture every major political controversy in Nepal since 2040 B.S. as structured content that can be sorted, filtered, visualized, and linked.

This post covers how I modeled scandals with:

  • Timeline consistency
  • Hierarchical parent-child links
  • Multilingual titles and content
  • Source citations and metadata
  • Relation to multiple political entities (leaders, parties, governments)

Schema Design​

I reused the polymorphic Content model but added specific support for:

  • contentType = 'SCANDAL'
  • eventDate for historical ordering
  • parentContentId to group sub-events

Each scandal entry includes bilingual fields, like:

{
contentType: 'SCANDAL',
resourceType: 'LEADER',
resourceId: 1429,
title: 'KP Oli Accused of Policy Corruption in Giri Bandhu Tea Estate',
titleLocal: 'केपी ओलीमाथि गिरि बन्धु चिया बगानको नीतिगत भ्रष्टाचारको आरोप',
content: 'Allegations surfaced...',
contentLocal: 'आरोप सार्वजनिक भए...',
eventDate: '2016-02-10',
sourceUrl: 'https://example.com/news/oli-scandal',
}

Parent-Child Linking​

Some scandals span years or involve multiple actors. I introduced parentContentId to group related entries:

  • Parent: "Fake Bhutanese Refugee Scandal"
  • Children: Entries per accused leader, stages, investigation updates

This lets me:

  • Show a full timeline under one scandal
  • Aggregate involved leaders and actions
  • Track escalation patterns

Multilingual Content Support​

As with other modules, every scandal entry includes both English and Nepali fields. This ensures accessibility and reach, especially for politically engaged users inside Nepal.

Example rendering fallback:

{language === 'np' ? titleLocal || title : title}

Source Tracking​

Each entry stores a sourceUrl and optionally sourceTitle. Users can trace claims to primary reports, news articles, or legal documents.

I plan to add source verification and approval levels in the future.


Visualizing Scandals​

Timeline components allow users to:

  • Browse scandals by year or leader
  • Filter by severity or party
  • Navigate multi-layered events

I also plan to add heatmaps, bar charts, and scandal density indicators.


Summary​

Political scandals are rich data. With the right structure, they become:

  • Insightful history
  • Searchable patterns
  • Publicly accountable narratives

In the next post, I’ll cover how I visualized elections over decades with normalized party data, interactive charts, and historical trends.