Skip to content

A clone of the social media website Twitter written with Node.JS, MongoDB and Socket.IO

License

Notifications You must be signed in to change notification settings

safesploit/TwitterClone

Repository files navigation

Social Media Web-App inspired by Twitter

A clone of the social media website Twitter written with Node.JS, MongoDB and Socket.IO

Features

  • Tweets
  • Likes, comments, and retweets
  • Profile pages
  • Following and followers
  • Real-time Instant Messaging (Socket.IO)
  • Real-time notifications (Socket.IO)
  • Group chat support*
  • Profile pictures
  • Cover photos

Table of Contents

Install Instructions

$ cd Downloads
$ git clone https://github.com/safesploit/TwitterClone.git
$ cd TwitterClone
# apt install npm && node
$ npm install 
$ node start app.js

This will initalise a web server using Express hosting the web-app at http://localhost:3003/

Note

The MongoDB connection in ./database.js has been omitted as indicated on line 20 by '[OMITTED]'. Hence, no database connection will occur.

Security Notice

This web-app is NOT secure and therefore should not hosted on an untrusted network or host any sensitive data.

A notable security bug, which was done intentionally for making development easier:

userLoggedInJs: JSON.stringify(req.session.user),

Which is not the only occurance of allowing the server-side to pass full database queries to the client-side. During development this allowed for easier client-side manipulation of data without having to plan.

Preview Images

Not final versions, will be cropped and updated

Homepage

Placeholder -- images coming soon.

Tweets

Likes, comments, and retweets

Replying on a tweet

image17

Commenting on a tweet

image18

Retweet

image19

Profile pages

Profile Photo

image7

Profile Cover Photo

image8

Final

image9

Following and followers

image21

Real-time Instant Messaging

image25

Real-time Notifications

Showing notifications for follows, likes and replies under notification section. Notice notifcation badges on the navigation panel.

image26

Group Chat

Starting a group chat

image28

Demo group chat

image29

Search

Search by Tweets

image10

Search by Users

Searches by firstname, lastname and username fields

image11

Preview Images Mobile Responsiveness

Coming soon...