A Real Time Chat App.
- Authentication using username and password
- Private messaging
- Group messaging
- Ability to create private groups
- Ability to delete or leave groups
- Ability to add or remove group participants
- Notification for different events
- Error message handler
You can see the live website here:
- ReactJS
- React Router
- TailwindCSS
- Apollo Client
- Apollo Subscriptions
- Yup
- React Hook Form
- React Custom Scrollbars
- Date-fns
-
Make sure you have PostgreSQL and NodeJS locally installed on your machine.
-
Install all the dependencies.
cd server npm install
-
Create .env file in Server directory.
PORT = 4000 JWT_SECRET = "your jwt secret"
-
Migrate and seed the SQL tables to your local database.
npm run migrate npm run seed
-
Edit the config file to match your local database credentials.
-
Run the sever.
npm run dev
-
Install all the dependencies.
cd client npm install
-
Edit the client file to match the server URLs. In production, change them from
localhost
to the deployed server URLs.const http = 'http://localhost:4000' const ws = 'ws://localhost:4000/graphql'
These are few upcoming updates that I have planned to provide in the future.
- Responsive layout
- PWA Support
- Ability to update group names
- Encryption of messages
- Tenor GIF support