Personal Website Powered By Contentful


Personal Website

Overview

This project is a robust, dynamic web application specifically designed to demonstrate skills and projects proficiently. It is developed using Gatsby, a contemporary static site generator synergistically integrated with Contentful CMS, ensuring efficient and seamless content management workflows.

Key Technologies

  • Gatsby: A static site generator that builds fast and modern web applications, providing a smooth user experience.

  • Contentful CMS: A headless CMS known for its efficient content management capabilities, ensuring seamless handling of the project's content needs.

  • GraphQL: A powerful tool for querying and managing data, providing the project with high flexibility and adaptability.

  • TypeScript: Type-safe preprocessor for writing locally scoped classes, variables, and themes, generating static CSS files at build time.

Features

Responsive Design

  • Predefined Breakpoints: Designed for small, medium, and large screens.

Modular CSS-in-JS Styling System

  • Style Variants: Enables creation of variations (e.g., button types, flex behaviors) using style variants.

  • Theme Integration: Centralized theme file (theme.css) for consistent spacing, colors, and typography.

  • Scalability: Easy addition of new variants and utilities without disrupting existing styles.

  • Vanilla Extract: Utilized for writing type-safe CSS with excellent developer ergonomics (

    Vanilla Extract).

Abstract Interfaces: GraphQL Schema Customization

  • Definition of Interfaces: Interfaces define a standard contract for GraphQL types, ensuring consistency, reusability, and flexibility.

    • Example: The HomepageBlock interface specifies the required fields, such as ID and blocktype.

  • Implementation by Types: Concrete types (e.g., ContentfulHomepageHero, ContentfulHomepageFeature) implement these interfaces to align with the defined structure.

  • Abstract Querying: Enables querying at the abstract level, simplifying the process.

    • Interfaces such as HomepageBlock, HomepageHero, and HomepageImage streamline schema organization for Contentful data representation.

Dynamic Pages with Advanced SEO Metadata: Dynamic pages have advanced SEO features, ensuring maximum visibility and reach.

Canonical URLs: You can prevent duplicate content issues by specifying primary URLs.

  • Dynamically constructed using the page slug and site’s base URL from site metadata.

  • Open Graph and Twitter Metadata:

    • Open Graph tags enhance social media link previews.

    • Twitter card tags optimize previews for Twitter.

    • Implemented in the SEOHead component with fallbacks for missing fields.

  • Default Metadata Fallbacks:

    • Sourced from gatsby-config.js for global metadata defaults.

Highlights

  • Dynamic Web Application: Built with Gatsby and Contentful CMS.

  • Responsive and Scalable Design: Breakpoints, style variants, and scalable CSS-in-JS.

  • GraphQL Schema Customization: Abstract interfaces for consistent and flexible CMS data querying.

  • Advanced SEO Features: Canonical URLs, Open Graph, Twitter Metadata, and default fallbacks.

  • GitHub Repository

  • Live Site