Private and group chat built with Node/Express, GraphQL, and PostgreSQL.
- User authentication system using JWT.
- Real time updates using GraphQL subscriptions.
- Instant messaging using GraphQL subscriptions.
- Email verification with SendGrid and JWT.
- Image upload with google cloud.
- Password recovery.
- Clone project
git clone https://github.com/mjabubakar/justchat - cd into folder
cd ./justchat/ - Download dependencies
npm install - Connect your project with Postgres Database
- Run migrations
npx sequlize db:migrate
Start server from your root folder using npm start
PORTdetermines which port the server is listening on.EMAIL_ADDRESSSendGrid sender email address.API_KEYSendGrid API key.DB_HOSTPostgres database host.DB_NAMEPostgres database name.DB_USERNAMEPostgres role.DB_PASSWORDPostgres password.NODE_ENVdetermines environment (production or development).ACCESS_TOKEN_SECRETJWT encryption secret for user login.CONFIRMATION_TOKEN_SECRETJWT encryption secret for forgot password.EMAIL_CONFIRMATION_TOKEN_SECRETJWT encryption secret for email confirmation.GCLOUD_PROJECT_IDGoogle cloud project idGCLOUD_FILE_PATHkey.json pathGCLOUD_CREDAll the data inside key.json fileGCLOUD_STORAGE_BUCKET_URLStorage bucket urlFRONT_END_URLWebsite URL that will be used for email confirmationGCLOUD_STORAGE_BUCKET_URLStorage bucket urlGCLOUD_STORAGE_BUCKET_URLStorage bucket urlFRONT_END_URLWebsite URL that will be used for email confirmation