Skip to content

Repository files navigation

FrameFlowX 📸

Netlify Status

A modern image discovery platform built with Next.js 15.1.4, enabling users to explore, collect, and interact with high-quality images through a seamless interface.

TypeScript Next.js Tailwind CSS Supabase

✨ Features

Core Functionality

  • 🖼️ Image Discovery - Browse through a vast collection of high-quality images
  • 📂 Collections - Explore and create curated themed image collections
  • 🔐 Authentication - Secure user authentication powered by Supabase
  • ❤️ Like System - Save and organize favorite images
  • 🔄 Infinite Scrolling - Smooth content loading with React Query
  • 📱 Responsive Design - Optimized for all device sizes
  • 🌓 Dark Mode - Built-in dark/light theme support
  • 🔍 Search - Advanced search for images and collections

Contact System

  • 📝 Contact Form with validation
  • 💬 Dynamic FAQ section
  • 📞 Contact information display
  • 🎨 Modern gradient background

🛠️ Technology Stack

Frontend

  • Framework: Next.js 15.1.4 (App Router)
  • Language: TypeScript
  • Styling:
    • Tailwind CSS for utility-first styling
    • shadcn/ui for component library
  • Animations: Framer Motion

Backend & Data

  • State Management: React Query
  • Authentication: Supabase Auth
  • Database: Supabase
  • Image Service: Unsplash API

UI Components

  • Contact Components:
    • ContactForm: Form handling with validation
    • ContactHero: Hero section for contact page
    • ContactInfo: Display contact details
    • ContactFAQ: Frequently asked questions
  • UI Elements:
    • Card components for structured content
    • Accordion for expandable FAQ items

📁 Project Structure

src/
├── actions/          # Server actions for API calls
├── app/             # Next.js app router pages
│   └── contact/     # Contact page components
├── components/      # Reusable React components
│   ├── collections/ # Collection-related components
│   ├── contact/     # Contact-specific components
│   ├── forms/       # Form components
│   ├── images/      # Image handling components
│   └── auth/        # Authentication components
├── interfaces/      # TypeScript interfaces
├── lib/             # Utility functions and configurations
└── utils/           # Helper functions

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Supabase account
  • Unsplash API key

Installation

  1. Clone the repository
git clone https://github.com/yourusername/frameflow.git
cd frameflow
  1. Install dependencies
npm install
# or
yarn install
  1. Configure environment variables
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
UNSPLASH_ACCESS_KEY=your_unsplash_access_key
  1. Start the development server
npm run dev
# or
yarn dev

🔑 Key Components

Collections System

  • CollectionsGrid: Masonry grid layout for collections
  • CollectionHeader: Collection metadata and actions
  • CollectionPhotos: Photo grid with lazy loading

Image Handling

  • ImageCard: Responsive image card with hover effects
  • ImageDetails: Modal with image details and actions
  • ImageLightbox: Fullscreen image viewer with gestures

Authentication

  • Protected routes with middleware
  • Social authentication integration
  • Profile management system

📝 Development Guidelines

Component Development

  • Prefer server components for better performance
  • Implement proper TypeScript types
  • Follow atomic design principles

Styling Best Practices

  • Use Tailwind CSS utility classes
  • Maintain consistent spacing
  • Ensure dark mode compatibility

State Management

  • Use React Query for remote data
  • Implement optimistic updates
  • Handle loading and error states

Performance Optimization

  • Implement image lazy loading
  • Use proper caching strategies
  • Optimize bundle size

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch
git checkout -b feature/amazing-feature
  1. Commit your changes
git commit -m 'Add amazing feature'
  1. Push to the branch
git push origin feature/amazing-feature
  1. Open a Pull Request

📄 License

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

🙏 Acknowledgments

About

FrameFlowX: Discover and explore high-quality images from Unsplash. Browse curated collections, search for specific themes, and find inspiration for your projects with our responsive, user-friendly interface.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages