Skip to content

Michael-Vol/WorkNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WorkNet

A Social Network for Professionals

GitHub license Latest release

MongoDB Express.js React Socket.io AWS

WorkNet is a JavaScript Project built in ReactJS and NodeJS (using the ExpressJS framework) designed to provide a business-oriented social-networking experience. Users can create posts sharing their thoughts on the Dashboard, connect with other users,provide their Work Experience,Education and Skills in their own Personal Info Page, chat with their connected users, create Job Posts and many more...

Landing Page

🛠️ Installation & Setup


  1. Install the backend NodeJS dependencies
cd server && npm install
  1. Go to the client directory and install the frontend dependency (with the --legacy-peer-deps option due to dependency conflicts)
cd ../client && npm install --legacy-peer-deps
  1. Build the production mode of the React App
npm run build
  1. Go to the root of the folder and run the node server
cd ../ && npm run start

The server will start (defaults at port 4000) and will serve both the backend API and the frontend production code statically.

📦 Packages, Services and Frameworks

The web app was created using the MERN stack with the following technologies:

Backend:

  • MongoDB as the main database for storing most of the user-created content because of the scalability it provides in collections and mongoose because the straight forward ODM for storing user data.

  • NodeJS & ExpressJS

  • JsonWebTokens (JWT) for user authentication

  • Bcrypt for hashing user passwords before storing them in the database

  • Multer for uploading media files(mainly images)

  • Socket.io for achieving real-time user communication in chats

    Frontend:

  • ReactJS

  • Rsuite as a UI Framework

  • react-app-rewired for overriding Rsuite base variables

  • Sass

  • Redux for state management

  • Axios as api client

  • socket-io-client for connecting to the socket io instance running in the backend https server

  • AWS SDK for connecting to an AWS-S3 bucket to store and stream user uploaded videos