GitHunt
IS

Zolink Templates is an open-source collection of customizable, responsive profile page components built in Typescript for the Zolink platform.

๐ŸŽจ Zolink Templates

Craft Stunning, Customizable Profile Pages for the Social Web

GitHub stars
License: MIT
PRs Welcome
GitHub issues
GitHub contributors

Build breathtaking profile pages with our open-source collection of React components. Designed for Zolink, the platform that redefines your online presence.

Zolink Templates is an open-source library of responsive, customizable profile page components built with Next.js, TypeScript, and Tailwind CSS. Our templates empower developers and users to create visually stunning, accessible, and performant profile pages for the Zolink platform. Whether you're showcasing your portfolio, social links, or personal brand, Zolink Templates makes it effortless and elegant.

๐ŸŒ Live Demo: zolink.site/templates

๐Ÿš€ Features

  • ๐ŸŽจ Beautiful Designs: Modern, trend-aware templates with customizable themes.
  • ๐Ÿ“ฑ Fully Responsive: Seamless experience across desktop, tablet, and mobile.
  • โšก TypeScript-Powered: Type-safe code with IntelliSense support for developers.
  • ๐ŸŽฏ Highly Customizable: Easily tweak colors, layouts, and functionality.
  • โ™ฟ WCAG-Compliant: Accessible designs with proper ARIA labels and keyboard navigation.
  • ๐Ÿ“ฆ Modular Architecture: Mix and match components or use complete templates.
  • ๐Ÿ”„ Dynamic Data: Supports real-time data updates for profiles and social links.
  • โšก Optimized Performance: Lazy loading, memoization, and image optimization.

๐Ÿ“‹ Data Model

Each template adheres to a standardized data structure for consistency and ease of integration:

interface User {
  uid: string;
  username: string;
  likes: number;
  views: number;
  profile: ProfileData;
  createdAt: number;
  updatedAt: number;
}

interface ProfileData {
  displayName: string;
  bio: string;
  avatar: string;
  theme: string;
  accentColor: string;
  images: string[];
  socialLinks: SocialLink[];
}

interface SocialLink {
  id: string;
  platform: string;
  url: string;
  title: string;
  icon: React.ReactNode; // Supports Lucide or Simple Icons
  color: string;
  visible: boolean;
}

๐Ÿ› ๏ธ Getting Started

Prerequisites

  • Node.js: v18 or higher
  • Next.js: v14 or higher
  • TypeScript: v5 or higher
  • Tailwind CSS: v3 or higher
  • pnpm (recommended for package management)

๐Ÿค Contributing

We welcome contributions from developers, designers, and enthusiasts of all skill levels! Whether you're fixing bugs, enhancing documentation, or creating new templates, your contributions help make Zolink Templates better for everyone.

Contribution Workflow

  1. Fork the Repository: Click the "Fork" button on GitHub.
  2. Create a Feature Branch:
    git checkout -b feature/your-template-name
  3. Develop Your Template:
    • Follow the Template Guidelines below.
    • Ensure responsiveness and accessibility.
    • Test across devices and screen sizes.
  4. Commit Changes:
    git commit -m "Add YourTemplateName with responsive design and accessibility"
  5. Submit a Pull Request:
    • Provide a detailed description of your changes.
    • Include screenshots or a live demo (if possible).
    • Reference related issues (e.g., #123).

Template Guidelines

File Structure

Organize your template in the following structure:

templates/
โ”œโ”€โ”€ YourTemplateName/
โ”‚   โ”œโ”€โ”€ index.tsx              # Main template component
โ”‚   โ”œโ”€โ”€ preview.png            # Screenshot/images for showcase
โ”‚   โ”œโ”€โ”€ README.md              # Optional: Template-specific documentation
โ”‚   โ”œโ”€โ”€ components/            # Optional: Reusable sub-components
โ”‚   โ””โ”€โ”€ styles/                # Optional: Custom CSS or Tailwind overrides

Code Standards

  • โœ… Use TypeScript with proper types
  • โœ… Follow the existing component interface
  • โœ… Use Tailwind CSS for styling
  • โœ… Ensure responsive design (mobile-first)
  • โœ… Add proper accessibility attributes
  • โœ… Include error handling for missing data

Component Props

interface YourTemplateProps {
  profile: User  // Use the standard User interface
}

export function YourTemplate({ profile }: YourTemplateProps) {
  // Your component logic
}

Required Features

  • ๐Ÿ“ฑ Mobile responsive design
  • ๐Ÿ”— Social links integration
  • ๐Ÿ’– Like button functionality
  • ๐Ÿ“ค Share functionality
  • ๐Ÿ–ผ๏ธ Avatar/image display
  • ๐Ÿ“ Bio/description support

Best Practices

  • Use meaningful component and variable names
  • Add comments for complex logic
  • Optimize for performance (lazy loading, memoization)
  • Handle edge cases (missing data, long text)
  • Test across different screen sizes
  • Validate accessibility with screen readers

๐Ÿ“š Documentation

Component API

Each template component accepts a profile prop with the standard User interface:

<YourTemplate profile={userData} />

Styling

Templates use Tailwind CSS with our custom design system:

  • Colors: Consistent color palette with theme support
  • Typography: Responsive text scales
  • Spacing: Consistent margin and padding
  • Components: Reusable UI components from shadcn/ui

๐ŸŽจ Design Principles

Our templates follow these design principles:

  • Simplicity - Clean, uncluttered interfaces
  • Accessibility - Usable by everyone
  • Performance - Fast loading and smooth interactions
  • Consistency - Unified design language
  • Flexibility - Easy to customize and extend

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

๐Ÿ“ž Support

Need help? Have questions?


Crafted with โค๏ธ by the Zolink Community

โญ Star us on GitHub | ๐Ÿš€ Try Zolink