Skip to content

yadawprodev/Snaply

Repository files navigation

📸 Snaply

Connect instantly. Share seamlessly.

React TypeScript Appwrite TanStack Query Tailwind CSS Vercel License: MIT

Live Demo · Report a Bug · Request a Feature


📖 About the Project

Snaply is a modern, fast, and intuitive social media platform built for next-gen connection. Designed with a focus on a sleek user experience, Snaply lets users share moments, discover content, and interact with others — all in a clean, responsive interface.

Whether you're sharing your latest photo, exploring trending posts, or managing your profile, Snaply offers a smooth and delightful experience powered by a robust, scalable backend.

Built as a full-stack passion project to demonstrate real-world application architecture, modern React patterns, and cloud-native backend integration.


Live Demo

🔗 https://snaply-lime.vercel.app


✨ Key Features

  • 🖼️ Rich Media Sharing — Upload and share photos with captions, tags, and location data
  • ❤️ Real-time Interactions — Like, save, and engage with posts instantly
  • 🔍 Explore & Discover — Browse trending posts and search for content and users
  • 👤 User Profiles — Customizable profiles with bio, avatar, and post history
  • 🔐 Secure Authentication — Email/password auth with protected routes and session management
  • ♾️ Infinite Scroll — Seamless feed browsing with cursor-based pagination
  • ✏️ Full Post Management — Create, edit, and delete your own posts
  • 📱 Fully Responsive — Optimized for desktop, tablet, and mobile
  • 🌑 Dark Mode UI — A polished dark-first design built with Tailwind CSS

🛠️ Tech Stack

Layer Technology
Frontend React 19, TypeScript, Tailwind CSS, shadcn/ui
Routing React Router v7
State Management Zustand
Server State / Caching TanStack Query (React Query v5)
Backend / BaaS Appwrite Cloud (Auth, Database, Storage)
Form Handling React Hook Form, Zod
Notifications Sonner
Deployment Vercel

📸 Screenshots

Home Feed Explore
Home Feed Explore
Profile Sign Up
Profile Sign Up
---

🚀 Getting Started

Prerequisites

Make sure you have the following installed:

Installation

  1. Clone the repository
git clone https://github.com/yadawprodev/Snaply.git
cd snaply
  1. Install dependencies
npm install
# or
yarn install
  1. Set up environment variables

Create a .env.local file in the root of the project and add the following:

VITE_APPWRITE_URL=https://fra.cloud.appwrite.io/v1
VITE_APPWRITE_PROJECT_ID=your_project_id
VITE_APPWRITE_DATABASE_ID=your_database_id
VITE_APPWRITE_STORAGE_ID=your_storage_bucket_id
VITE_APPWRITE_USER_COLLECTION_ID=your_user_collection_id
VITE_APPWRITE_POST_COLLECTION_ID=your_post_collection_id
VITE_APPWRITE_SAVES_COLLECTION_ID=your_saves_collection_id

⚠️ Never commit your .env.local file. It is already included in .gitignore.

  1. Run the development server
npm run dev

Open http://localhost:5173 in your browser.

Production Build

npm run build
npm run preview

🤝 Contributing

Contributions are welcome and appreciated! Here's how to get involved:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes: git commit -m 'feat: add your feature'
  4. Push to your branch: git push origin feature/your-feature-name
  5. Open a Pull Request

Please make sure your code follows the existing style and that all linting passes before submitting. For major changes, open an issue first to discuss what you'd like to change.


📄 License

Distributed under the MIT License. See LICENSE for more information.


📬 Contact

Yadiel Tesfayeyadawprodev@gmail.com

GitHub: [https://github.com/yadawprodev]

Project Link: [https://github.com/yadawprodev/Snaply]


Built by Yadiel Tesfaye

About

A modern social media app powered by React, TypeScript, Appwrite, Zustand & TanStack Query

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages