Data Schemas
The FiNAN website uses TypeScript interfaces to ensure data integrity, especially for content-heavy sections like Committee members and Events.
Committee Member Schema
Section titled “Committee Member Schema”The CommitteeMember interface defines the structure for a committee member profile.
export interface CommitteeMember { id: string; // Unique identifier (kebab-case) name: string; // Full name role: string; // Role title (e.g., "President") image: ImageMetadata; // Imported image object email?: string; // Optional contact email bio?: string; // Short biography}Event Schema
Section titled “Event Schema”The Event interface structures event data.
export interface Event { title: string; date: Date; location: string; description: string; link?: string;}Navigation Schema
Section titled “Navigation Schema”The site navigation is defined in siteConfig.ts.
export interface NavItem { label: string; href: string; subItems?: NavItem[];}