The-Social-Book

The Social Book is a Social Media Website designed using Full Stack Web Development through Back-End Technology of MEN Stack (MongoDB, ExpressJS, NodeJS), RedisDB, GulpJS & Passport Auths. Users are able to create, share the posts and connect with each other across the platform. This website is completely Responsive across all the Devices.

Stars
4
Committers
2

Introduction

The Social Book is a Social Media Website designed using Full Stack Web Development through Back-End Technology of MEN Stack (MongoDB, ExpressJS, NodeJS), RedisDB, GulpJS & Passport Auths. Users are able to create, share the posts and connect with each other across the platform. This website is completely Responsive across all the Devices.

  • Users are able to login through social & manual login. They can also reset their passwords using 'Forgot Password'.
  • Users can check the 'About Us' & 'Contact Us' Sections.
  • Users receive emails for resetting password links, for creating post-comments, profile updation, account creation, receiving comments.
  • Users can chat with other users. Users get notified when they receive a new message & also when the other friend is online.
  • Users can like both posts - comments & can create the posts and comments.
  • Users can post images and videos as well.
  • Users can search for other users as well.
  • Users can update their profiles.
  • Users can add other users as friends.
  • JWT functionality is also present in the code but is not used.

Note

  • 'master' branch contains the code for the Heroku Deployment.
  • 'Development' branch contains the code for the localhost development version.
  • 'AWS_Deployment' branch contains the code for the AWS Deployment.

Getting Started With The Project

  • Fork the Project in your Repository.
  • Clone the Forked Repository in your Local System.
  • Install & Configure - NodeJS, MongoDB, Robo3T, POSTMAN, WSL & Redis Server
  • Create '.env' file & Set the Environment Variables in it, as per the 'ENV_FORMAT.json' file.
  • Run 'npm install' in GitBash Terminal
  • Go to 'package.json' & inside the 'SCRIPTS', find "start":"...."
    Change it to - "start": "nodemon index.js",
  • If you want to run the project in development mode locally then go to '.env' file & set,
    ENVIRONMENT=development
    DEPLOYMENT=local
  • If you want to run the project in production mode locally then go to '.env' file & set,
    ENVIRONMENT=production
    DEPLOYMENT=local
  • Run 'redis-server' in WSL Terminal
  • Run 'npm start' in GitBash Terminal
  • Enjoy :)

For any issues related to the project, raise an ISSUE in the respective Repository.

Tools Used

  • Library:
    • @socket.io/admin-ui
    • connect-flash
    • connect-mongo
    • cookie-parser
    • cors
    • crypto
    • del
    • dotenv
    • ejs
    • express
    • express-ejs-layouts
    • express-session
    • express-validator
    • gulp
    • gulp-cssnano
    • gulp-imagemin
    • gulp-rev
    • gulp-sass
    • gulp-uglify-es
    • jsonwebtoken
    • kue
    • mongoose
    • morgan
    • multer
    • node-sass-middleware
    • nodemailer
    • nodemon
    • noty
    • passport
    • passport-facebook
    • passport-jwt
    • passport-google-oauth
    • passport-local
    • rotating-file-stream
    • socket.io
    • socket.io-client
    • validator
  • Framework: ExpressJS
  • Database: MongoDB, RedisDB
  • Version Control System: Git
  • VCS Hosting: GitHub
  • Programming / Scripting: JavaScript
  • Front-End: HTML, CSS, EJS
  • Runtime Environment: NodeJS
  • Integrated Development Environment: VSCode

Links

Checkout the Website Web Application

Checkout the Application Demo Video YouTube

Screens

Follow Me:

Dev Community

Twitter

LinkedIn

YouTube

I hope you like the project. Thanks for reading :)