Skip to content

Implement a community-based chatroom system organized by specific regions (cities). Prior to user inclusion in chatrooms, administrators will conduct verifications; during this period, users won’t have visibility into city-based chatrooms. Once verified, users will be added to their designated chatrooms based on their pre-filled city forms.

Notifications You must be signed in to change notification settings

KaustubhPatil02/chat-app-strayaidconnect

Repository files navigation

Tech Stack used

Front-end:
    Nextjs Framework
    Typescript
    TailwindCss
    React-Icons library

Back-end:
    Prisma
    Prisma for db schema design
    Mongodb for backend connectivity

API's:
  -Google oAuth
  -Cloudinary
  -NextAuth
  -Pusher (for sending messages between clients)

Twilio (sms)
Twilio client

Setup .env file

DATABASE_URL=
NEXTAUTH_SECRET=

NEXT_PUBLIC_PUSHER_APP_KEY=
PUSHER_APP_ID=
PUSHER_SECRET=

NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

Setup Prisma

npx prisma db push

Url's for setup API keys and secret in .env

https://pusher.com/ - pusher
https://cloudinary.com/ -image upload cloudinary
https://console.cloud.google.com/apis/credentials - oauth sigin google
https://cloud.mongodb.com/ - database

Key Features:

  • Real-time messaging using Pusher
  • Message notifications and alerts
  • Tailwind animations and transition effects
  • Tailwind design for sleek UI
  • Full responsiveness for all devices
  • Google authentication integration
  • Credential authentication with NextAuth
  • File and image upload using Cloudinary CDN
  • Client form validation and handling using react-hook-form
  • Server error handling with react-toast
  • Online/offline user status
  • Message read receipts
  • Message attachments and file sharing
  • Group chats and one-on-one messaging
  • Creating and managing chat rooms and channels
  • User profile customization and settings
  • Sms functionality using twilio
  • pin a message etc, soon to be implemented

About

Implement a community-based chatroom system organized by specific regions (cities). Prior to user inclusion in chatrooms, administrators will conduct verifications; during this period, users won’t have visibility into city-based chatrooms. Once verified, users will be added to their designated chatrooms based on their pre-filled city forms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published