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.
- 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
withzod
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
.
- 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
-
Clone the repository:
git clone https://github.com/callmedeci/snapgram.git cd snapgram
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Build for production:
npm run build
Pull requests and feature suggestions are welcome. Open an issue to discuss proposed changes.