📨 A JAM stack PWA, real-time messaging web app built with GraphQL, Nexus schema, Apollo, React, TypeScript, Next.js, JWT and MongoDB. 📬
-
React as the UI library.
-
Next.js as the React framework for auth and stuff.
-
GraphQL as the API language.
-
Socket.io for real time communication
-
MongoDB, and Mongoose as the ODM.
-
NextAuth as the authentication backend with passwordless logins.
-
Real time one-to-one messaging
-
Messages sync: saves and let's you chat using any device!
-
Automatic real-time sentiment recognition of the messages of the other person
-
Integrated calendar inside the messaging app
-
Integrated notes saving in the chats
-
Integrated to-do list in the chats
-
On-to-one or group Video calling
-
Group chats
-
End-to-end encryption
-
Node.js and yarn installed.
-
MongoDB installed and the daemon running at
localhost:27017
.
- Clone and cd into the repo.
git clone https://github.com/k4u5h4L/Chatterz.git && cd Chatterz
- Install the dependencies
yarn install
-
Create a new file called
.env.local
and fill in variables and keys from different providers from the.env.example
file. -
Run the development server for the Express backend server by running these two commands in separate terminals.
# this will compile the server TS code and will watch for file changes
yarn run watch
# This will spin up the development server using the nodemon utility
yarn run dev:server
- Now with all the API keys and the backend server running, run development server for the client.
yarn dev
- Now visit the location localhost:3000 to check out the site!
- This project is for learning purposes only.