Welcome to the documentation for our Chat Web App! This web application is built using Next.js and provides a real-time chat experience with several features, including JWT token sign-in, one-to-one chatting, group chats, and support for sending and receiving images within chat messages.
Before running the Chat Web App, ensure you have the following installed:
Clone the repository and install dependencies:
bashCopy code
git clone https://github.com/RasagnyaG/chat.git
cd chat-web-app
npm install
Start the development server:
bashCopy code
npm run dev
Visit http://localhost:3000 in your browser to access the Chat Web App.
Our Chat Web App utilizes JSON Web Tokens (JWT) for user authentication. Users can sign in using their credentials, and upon successful authentication, a JWT token is generated and used to secure subsequent API requests.
Users can initiate one-to-one chats by selecting a contact from their friends' list. Real-time messages are exchanged, creating a seamless and interactive chatting experience.
Group chats allow users to create and participate in conversations with multiple members. Users can add or remove participants, and messages sent to the group are delivered to all members in real-time.
Our Chat Web App supports the sharing of images within chat messages. Users can upload and view images directly in the chat interface, enhancing the communication experience.
The project follows a standard Next.js folder structure. Key folders include:
pages
: Contains the main pages of the application.components
: Reusable React components.api
: Serverless functions for handling API requests.
The Chat Web App relies on serverless functions to manage API endpoints. These endpoints handle user authentication, message retrieval, and group management.
Real-time communication is facilitated through WebSocket integration. The app uses WebSocket connections to instantly transmit messages between users, ensuring a responsive chat experience.
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.