Skip to content

zwang759/LinkedIn-Clone

Repository files navigation

Linkedin Clone

A fake LinkedIn

Click here to live preview.

Tech stacks

  • JavaScript
  • React.js
  • Styled Components
  • Material-UI
  • Redux
  • Redux-Thunk
  • React Icons
  • React Router
  • Redux DevTools Extension
  • Moment.js
  • JSON Web Token
  • Express
  • Redis
  • MongoDB (Mongoose ODM)
  • Docker
  • AWS S3, ECR, ECS, Fargate

Environment Setup

Setup MongoDB Atlas

Download and install Redis

Create a free AWS account and create a S3 bucket

Download and install Docker

Starting Development Environment

  1. Under config file, add a file named default.json and input your configurations and secret keys

    {
        "mongo_URI": ""
        "jwtSecret": ""
        "githubToken": ""
        "AWSAccessKeyId": "" 
        "AWSSecretKey": ""
        "S3_BUCKET_NAME": ""
        "defaultAvatar": ""
        "defaultBackgroundMedia": "" 
        "signedUrlExpireSeconds": ""
        "NEWS_API_KEY": ""
    }
    
  2. Run cd server, under server folder, Run npm install

  3. Run cd client, under client folder, Run npm install

  4. Run cd .., in root directory, Run npm run dev and access http://localhost:3000.

Deployment

  1. Run docker-compose -f docker-compose.yml up -d --build
  2. Push images to Amazon ECR
  3. Create ECS cluster
  4. Create a Task Definition and set configuration
  5. Whitelist addresses in your Amazon S3, MongoDB, and edit inbound rules in your AWS Security Groups

App Architecture

  1. root folder contains the backend APIs built by express
  2. client folder contains the frontend pages built by react

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published