Skip to content

A Facebook Thread clone with MERN backend made with GrapgQL.

Notifications You must be signed in to change notification settings

GohilMahendra/Threads-Graphql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Threads

A full stack clone of Meta Threads. It have some mixed functionality like comment from instagram, grid images from twitter

Requirments

  • Node
  • React Native
  • FFMpeg(if not it's fine it will be installed with npm)
  • Xcode

Installation

React Native

Make sure you have Node.js and npm installed on your machine. If not, you can download and install them from here.

  1. Clone the repository:

    git clone https://github.com/GohilMahendra/Thread-Rest.git
    cd Thread-Rest
    
  2. Install libraries

    yarn
    
  3. Install pods

       cd ios
       pod install

Node Server

  1. install libraries
    yarn
    
  2. setup ENV file
  • MONGO_URL = your-db-uri
  • MAILER_PASS = your-mailer-password
  • MAILER_EMAIL = your-mailer-mail
  • AWS_ACCESS_KEY = aws-access-key-for-storage-access
  • AWS_SECRET_ACCESS_KEY = aws-secret-key-for-storage-access
  • AWS_S3_BUCKET_NAME = aws-bucket-name
  • AWS_REGION = aws-region-name
  • TOKEN_SECRET = token-secret-for-sign-jwt
  1. use this command to run on nodemoon
    yarn dev
    

Atlas search indexes

  • UserSearch (username,fullname) User Schema
    "mappings": {
     "dynamic": false,
     "fields": {
       "fullname": [
         {
           "type": "stringFacet"
         },
         {
           "type": "string"
         },
         {
           "foldDiacritics": false,
           "maxGrams": 7,
           "minGrams": 3,
           "tokenization": "edgeGram",
           "type": "autocomplete"
         }
       ],
       "username": [
         {
           "type": "stringFacet"
         },
         {
           "type": "string"
         },
         {
           "foldDiacritics": false,
           "maxGrams": 7,
           "minGrams": 2,
           "tokenization": "edgeGram",
           "type": "autocomplete"
         }
       ]
     }
    }

}

  • ContentSeach (post content full text search) Post Schema
    "mappings": {
    "dynamic": false,
    "fields": {
      "content": [
        {
          "type": "stringFacet"
        },
        {
          "type": "string"
        },
        {
          "foldDiacritics": false,
          "maxGrams": 7,
          "minGrams": 2,
          "tokenization": "edgeGram",
          "type": "autocomplete"
        }
      ]
    }
    }
    

}

Tech Stack

fronend

  • React-Native
  • Typescript
  • Redux-Toolkit
  • React-navigation v6
  • reanimated v2

backend

  • MongoDB
  • Node.js
  • Express.js
  • Aws s3
  • JWT statless
  • Typescript

Features

Auth

  • Otp Email verification

Posts

  • Create Post
  • Delete Post
  • Like A Post
  • Comment on Post
  • Repost The Other Posts

Followers

  • Follow user
  • UnFollow user
  • get following posts
  • get list of follwings

Replies

  • comment on post
  • get posts in which you replies
  • delete the reply

Screenshots

Dark Mode

Settings Dark Mode Settings logout Sign In
Screenshot 1 Screenshot 2 Screenshot 3
Sign Up Delete Thread User Profile
Screenshot 1 Screenshot 2 Screenshot 3
Following Comment 1 Comment 2
Screenshot 1 Screenshot 2 Screenshot 3
Comment 3 Favorites -Reply Favorites -Reply Delete
Screenshot 1 Screenshot 2 Screenshot 3
Favorites -liked Follwing Favorites -follwings
Screenshot 1 Screenshot 2 Screenshot 3
Full Text search 1 Full Text search 2 Full Text search 3
Screenshot 1 Screenshot 2 Screenshot 3
Profile 01 Profile 02 Create Thread
Screenshot 1 Screenshot 2 Screenshot 3
Profile Posts User Profile Posts Video Player
Screenshot 1 Screenshot 2 Screenshot 3

Light Mode

Sign In Sign Up Feed1
Screenshot 1 Screenshot 2 Screenshot 3
Feed2 Feee3 Feed4
Screenshot 1 Screenshot 2 Screenshot 3
Repost User Posts Comments
Screenshot 1 Screenshot 2 Screenshot 3
Add Comment Feed5 UserProfile
Screenshot 1 Screenshot 2 Screenshot 3
Qoute Post Qoute Post 2 Search
Screenshot 1 Screenshot 2 Screenshot 3
Full Text search 1 Full Text search 2 Full Text search 3
Screenshot 1 Screenshot 2 Screenshot 3
Create Threads User Profile Edit Profile
Screenshot 1 Screenshot 2 Screenshot 3
User Profile User Profile 2 Favorites
Screenshot 1 Screenshot 2 Screenshot 3
Favorites 2 Favorites 3 Favorites 4
Screenshot 1 Screenshot 2 Screenshot 3
Profile Settings
Screenshot 1 Screenshot 2

Releases

No releases published

Packages

No packages published

Languages