Skip to content

Help us take over the world! React + TS + GraphQL Chat App

License

Notifications You must be signed in to change notification settings

anuraghazra/convoychat

Repository files navigation


ConvoyChat Logo ConvoyChat Logo

Help us take over the world

Travis (.com) GitHub Twitter Follow

View Demo · Report Bug · Request Feature

Real time group messaging app

✨ Features

  • WIP

Tech Stack

  • WIP

🚀 Local Development

Start developing locally.

Before you get started make sure you sign up for these service providers

Step-1

clone this repo

https://github.com/anuraghazra/convoychat.git

Step-2

Install all dependencies

# install server side deps
cd convoychat
npm install

# install client side deps
cd client
npm install

Step-3

Environment variables

Now this is a bit tricky.

  • create a new file .env in the root folder
  • open .env.EXAMPLE
  • copy the contents and paste it to the .env

And change all the dummy keys with your own valid ones.

Step-3.1 : Setup Auth0

Most importantly you'll need Auth0

Follow this guide -

https://auth0.com/docs/quickstart/webapp/nodejs

Also it is important that you setup all the callback URLs correctly in Auth0 Dashboard.

(You can open an issue or contact me on twitter if you get stuck)

Step-3.2 : Setup Cloudinary (Optional)

If you are working on a feature which includes image uploads you'll also need to setup cloudinary

Follow this guide -

https://cloudinary.com/documentation/how_to_integrate_cloudinary

Also it is important that you setup all the callback URLs correctly in Auth0 Dashboard.

Step-4: Starting the server

Finally to start the server execute this script

npm run develop

All Package.json scripts

  • Main Dev scripts
    • dev:tsc - Compiles typescript code
    • dev:server - Runs and watches server for file changes
    • dev:client - Runs the client side
    • develop - Starts the app, runs dev:tsc, dev:server- dev:client at once
  • Tests
    • test:server - Run all tests for server
    • test:client - Run all tests for client
  • Codegen & Infra
    • codegen - Runs graphql codegen for client
    • lint - Runs ESlint
    • lint:fix - Runs ESlint & Fixes,
    • prettier - Runs prettier

✌️ Contributing

You wanna contribute? wow amazing. thats great to hear.

After cloning & setting up the local project you can push the changes to your github fork and make a pull request.

Pushing the changes

git add .
git commit -m "feat: added new stuff"
git push YOUR_REPO_URL BRANCH_NAME

Made with ❤️ and javascript