Skip to content

[Example] Build a Production-Grade Todo App (React + TypeScript + SDK) #93

@Shivkumardhakad

Description

@Shivkumardhakad

📌 Overview

SnapGrid is a premium AI-generated image gallery and prompt-sharing platform. Unlike a standard Todo list, SnapGrid focuses on Public Discovery + Private Ownership, showcasing urBackend's ability to handle media storage, social authentication, and complex Row-Level Security (RLS) configurations.

The goal is to build a platform where users can "Showcase" their AI art while maintaining full control over their own creations.

🛠 Tech Stack

  • Frontend: React (Vite) + TypeScript
  • Styling: Tailwind CSS + Shadcn UI (for components)
  • Animations: Framer Motion (for smooth transitions/modals)
  • Backend: Official @urbackend/sdk
  • Auth: urBackend Social Auth (Google/GitHub)

🚀 urBackend Integration Points

1. Authentication & Profiling

  • Social Auth: Users must be able to sign up/in using Google or GitHub.
  • Profile Management: A dedicated "My Gallery" page where users see only their uploads.

2. Data Modeling & RLS

  • Collection: posts
    • imageUrl (String)
    • prompt (String)
    • category (String: e.g., 'Abstract', 'Portrait', 'Landscape')
    • ownerId (Managed by urBackend)
  • RLS Policy:
    • Read: public-read (Anyone can see the feed).
    • Write: private (Only the creator can edit/delete their posts).

3. Media Storage

  • All AI images must be uploaded to the urBackend project storage bucket.
  • Implementation must handle upload progress states and error handling.

✨ Key Features (Scope)

  • Global Discovery Feed: A masonry grid layout (like Pinterest) showing all public posts.
  • Smart Filtering: Filter posts by category or search by keywords in the prompt.
  • Interactive Modals: Clicking an image opens a detailed view showing the full prompt, with a "Copy Prompt" button.
  • Creator Dashboard: A private section where users manage their own posts (CRUD).
  • Responsive Aesthetics: Full Dark/Light mode support with a "Glassmorphism" theme for cards.

🎨 UI/UX Expectations

  • Star Quality: Use high-quality typography (Inter/Outfit) and subtle micro-animations.
  • Empty States: Beautiful illustrations or skeletons when no posts are available.
  • Toasts: Real-time feedback for likes (if implemented), uploads, and auth changes.

📖 Contributor Checklist

  • Initialize a fresh Vite + TS project.
  • Setup @urbackend/sdk and environment variables.
  • Document the urBackend collection schema in the README.
  • Implement the masonry gallery with lazy-loading.
  • Ensure 100% type safety for API responses.

Link this spec to your issue so students know exactly what "High Quality" means!

Metadata

Metadata

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions