Slack clone built using React.js, Node.js and GraphQL.
- Advanced user login and sign up with refresh token - handled and verified through muiddleware and afterware
- Create Teams
- Add new channels
- Add new members to teams
- Instant messaging with the use of GraphQL subscriptions as an implementation of web sockets
- Fully authenticated
- Sending of direct messages
Please ensure that Progres is set up on your machine and a database named $user exists.
If you are starting from scratch, follow these steps to set up Postgres, replacing your user name within <user>:
brew doctor
brew update
brew install postgresql
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
alias pg_start="launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist"
alias pg_stop="launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist"
pg_start
createdb <user>To verify you have Postgres installed correctly, running the following command:
psqlshould produce an output in the terminal that looks similar to this:
$ psql
psql (11.5)
Type "help" for help.
<user>=# $ git clone https://github.com/barclayd/Slack-Clone.git
$ cd server
$ npm run setup
$ cd .. && cd client
$ npm run start
$ git clone https://github.com/barclayd/Slack-Clone.git
$ cd server
$ npm run start
$ cd .. && cd client
$ npm run start
- Member of channel is typing
- Drag and drop files for upload