Threads Clone is a professional social media mobile application inspired by threads, designed for seamless user interaction and content sharing. The app enables users to register, log in, create posts with hashtags and images, interact through likes, comments, and follows, and discover other users. Built with a focus on robust authentication, real-time updates, and consistent error handling, Threads Clone delivers a modern and reliable user experience.
- User Authentication: Secure login and registration using JWT tokens.
- Post Creation: Compose posts with text, hashtags, and optional images.
- Social Interactions: Like, comment, and follow other users.
- User Discovery: Search and view user profiles, followers, and following lists.
- Real-Time Updates: Automatic feed refresh after user actions.
- Error Handling: Consistent alert-based feedback for errors and validation.
- Responsive UI: Dark mode, loading states, and mobile-optimized design.
- React Native
- JavaScript
- Expo
- Apollo Client (GraphQL)
- SecureStore (JWT management)
- React Navigation v6
- GraphQL (queries & mutations)
- Vector Icons
- Clone the repository:
git clone https://github.com/yourusername/threads-clone-mobile.git cd threads-clone-mobile/client - Install dependencies:
npm install
- Configure environment variables:
- Copy
.env.exampleto.envand set your GraphQL server URL.
- Copy
- Start the development server:
npm start
- Run on your device or simulator using Expo Go or the provided commands.
- Register a new account or log in with existing credentials.
- Create posts with hashtags and images.
- Like, comment, and follow other users.
- Search for users and view their profiles.
- All actions provide real-time feedback and error alerts.
client/ ├── src/ │ ├── screens/ # App screens (Home, Login, Register, PostDetail, UserDetail, etc.) │ ├── navigators/ # Navigation setup │ ├── utils/ # Utility functions (error handling, etc.) │ └── ... ├── assets/ # Images and icons ├── app.config.js # Expo configuration ├── .env.example # Environment variable example └── ... This project is licensed under the MIT License.