PhotoBooth

I built a photo-sharing gallery app in React with Sanity CMS as the backend. Users sign in with Google, post photos with a title, description, link and category, browse them in a masonry grid, search, save posts and leave comments. Authentication uses Google OAuth, and Sanity stores the users, posts, saves and comments, so there is no custom backend to run.

ReactSanity.ioTailwind CSSGoogle OAuthReact RouterNetlify
On this page

Feature Highlights

Upload and manage photos in a gallery

  • Upload an image with a title, description, link and category
  • Images stored in Sanity CMS with metadata
  • Sanity's CDN for image delivery and optimization

Stack

  • React: Component framework for building the UI.
  • Sanity.io: Headless CMS for users, posts, saves and comments.
  • Tailwind CSS: Utility-first CSS for responsive design and styling.
  • Google OAuth: Authentication for one-click login with Google accounts.
  • React Router: Client-side routing for gallery and profile pages.
  • Netlify: Hosting with continuous deployment.

Use Cases

  • Learning how to build a photo sharing app with React and Sanity
  • Understanding headless CMS architecture for managing users and content
  • Building a social photo platform with saves, comments and categories

How to Use

  1. Clone: git clone https://github.com/dhruba-datta/photoBooth
  2. Install deps: npm install
  3. Configure environment: Set Sanity project vars and Google OAuth credentials in your .env.
  4. Start dev server: npm run dev
  5. Build & deploy (Netlify): npm run build then connect repo on Netlify for CI/CD.

Related projects

Let's Connect

Building a social gallery or portfolio site?

I build photo-sharing platforms with React, Sanity CMS for content management, and social features like saves and comments.

Dhruba Datta

© 2026 | All rights reserved