Welcome to
"Snapgram"

A social media app where you can create posts, like and save content, explore other users on the People page, and seamlessly sign in and out. Simple, smooth, and built for sharing.

  • appwrite
  • authrntication
  • react
  • react-dropzone
  • reactquery
  • shadcn-ui
  • social-media
  • tailwindcss
  • ts
  • vite
  • zod
Created at:
Last update:

Snapgram

A social media app where you can create posts, like and save content, explore other users on the People page, and seamlessly sign in and out. Simple, smooth, and built for sharing.

Features

  • Post Creation: Easily create and share posts with images.
  • Like & Save: Interact with posts by liking and saving them.
  • User Discovery: Explore and connect with other users on the People page.
  • Authentication: Secure login and logout with Appwrite.
  • Form Validation: Uses react-hook-form with zod for robust validation.
  • Infinite Scrolling: Smooth loading of content using react-intersection-observer.
  • Optimized Performance: Data fetching and caching with @tanstack/react-query.
  • Notifications: Instant feedback using sonner.
  • File Uploads: Image upload support with react-dropzone.

Technologies Used

  • Frontend: React, Vite, TypeScript
  • State Management & Data Fetching: React Query
  • Routing: React Router
  • Styling: TailwindCSS, Tailwind Merge
  • Authentication & Database: Appwrite
  • Form Handling: React-Hook-Form, Zod
  • Image Uploads: React-Dropzone
  • Infinite Scrolling: React-Intersection-Observer
  • Notifications: Sonner
  • Linting & Code Quality: ESLint, TypeScript ESLint

Installation

  1. Clone the repository:

    git clone https://github.com/callmedeci/snapgram.git
    cd snapgram
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev
  4. Build for production:

    npm run build

Contributing

Pull requests and feature suggestions are welcome. Open an issue to discuss proposed changes.