Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mohammadshabazuddin/full-stack-social-media-app

Social media platform built with React.js, TypeScript, and Tailwind CSS. Integrated with Appwrite for backend and React Query for efficient data management, it features robust authentication, dynamic post exploration, liking and saving capabilities, detailed post views, user profiles, responsive UI, and optimized data caching for performance
https://github.com/mohammadshabazuddin/full-stack-social-media-app

appwrite react-query reactjs shadcn tailwindcss typescript

Last synced: about 22 hours ago
JSON representation

Social media platform built with React.js, TypeScript, and Tailwind CSS. Integrated with Appwrite for backend and React Query for efficient data management, it features robust authentication, dynamic post exploration, liking and saving capabilities, detailed post views, user profiles, responsive UI, and optimized data caching for performance

Awesome Lists containing this project

README

        





Project Banner



react.js
appwrite
tailwindcss
reactquery
typescript

A Social Media Application

## πŸ“‹ Table of Contents

1. πŸ€– [Introduction](#introduction)
2. βš™οΈ [Tech Stack](#tech-stack)
3. πŸ”‹ [Features](#features)
4. 🀸 [Quick Start](#quick-start)
5. πŸ•ΈοΈ [Snippets](#snippets)
6. πŸ”— [Links](#links)
7. πŸš€ [More](#more)

## πŸ€– Introduction

Explore social media with this user-friendly platform that has a nice look and lots of features. Easily create and explore posts, and enjoy a strong authentication system and quick data fetching using React Query for a smooth user experience.

## βš™οΈ Tech Stack

- React.js
- Appwrite
- React Query
- TypeScript
- Shadcn
- Tailwind CSS

## πŸ”‹ Features

πŸ‘‰ **Authentication System**: A robust authentication system ensuring security and user privacy

πŸ‘‰ **Explore Page**: Homepage for users to explore posts, with a featured section for top creators

πŸ‘‰ **Like and Save Functionality**: Enable users to like and save posts, with dedicated pages for managing liked and saved content

πŸ‘‰ **Detailed Post Page**: A detailed post page displaying content and related posts for an immersive user experience

πŸ‘‰ **Profile Page**: A user profile page showcasing liked posts and providing options to edit the profile

πŸ‘‰ **Browse Other Users**: Allow users to browse and explore other users' profiles and posts

πŸ‘‰ **Create Post Page**: Implement a user-friendly create post page with effortless file management, storage, and drag-drop feature

πŸ‘‰ **Edit Post Functionality**: Provide users with the ability to edit the content of their posts at any time

πŸ‘‰ **Responsive UI with Bottom Bar**: A responsive UI with a bottom bar, enhancing the mobile app feel for seamless navigation

πŸ‘‰ **React Query Integration**: Incorporate the React Query (Tanstack Query) data fetching library for, Auto caching to enhance performance, Parallel queries for efficient data retrieval, First-class Mutations, etc

πŸ‘‰ **Backend as a Service (BaaS) - Appwrite**: Utilize Appwrite as a Backend as a Service solution for streamlined backend development, offering features like authentication, database, file storage, and more

and many more, including code architecture and reusability

## 🀸 Quick Start

Follow these steps to set up the project locally on your machine.

**Prerequisites**

Make sure you have the following installed on your machine:

- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/en)
- [npm](https://www.npmjs.com/) (Node Package Manager)

**Cloning the Repository**

```bash
git clone https://github.com/adrianhajdin/social_media_app.git
cd social_media_app
```

**Installation**

Install the project dependencies using npm:

```bash
npm install
```

**Set Up Environment Variables**

Create a new file named `.env` in the root of your project and add the following content:

```env
VITE_APPWRITE_URL=
VITE_APPWRITE_PROJECT_ID=
VITE_APPWRITE_DATABASE_ID=
VITE_APPWRITE_STORAGE_ID=
VITE_APPWRITE_USER_COLLECTION_ID=
VITE_APPWRITE_POST_COLLECTION_ID=
VITE_APPWRITE_SAVES_COLLECTION_ID=
```

Replace the placeholder values with your actual Appwrite credentials. You can obtain these credentials by signing up on the [Appwrite website](https://appwrite.io/).

**Running the Project**

```bash
npm start
```

Open [http://localhost:3000](http://localhost:3000) in your browser to view the project.

## πŸš€ Contact
_Connect with me through various portals :_



Social Media
Username
Link



Email
[email protected]
Email



LinkedIn
Shabazuddin Mohammad
LinkedIn



Instagram
shabaz_uddin
Instagram



Facebook
Shabaz
Facebook



Twitter
shabazuddin786
Twitter

## πŸš€ Images

![image](https://github.com/user-attachments/assets/54dbff7a-5949-4d80-9a39-a16bb71612ce)
![image](https://github.com/user-attachments/assets/d40da64d-a523-42fc-a4b9-dc63f488af9b)
![image](https://github.com/user-attachments/assets/f8abaf16-d3d9-41d8-b6db-3dcec6e8721b)
![image](https://github.com/user-attachments/assets/eb37a934-baaa-4d45-b8d9-cdf4eefa977b)
![image](https://github.com/user-attachments/assets/cbaf1fe4-9a0f-41e8-b7aa-95562d4f31b8)

I'm always open to collaboration and new opportunities! Feel free to reach out and connect with me. 🌟