Chat App is a real-time chat application that allows users to seamlessly communicate with each other. It provides essential features such as user authentication, messaging, searching for users, viewing older conversations, and managing user profiles.
The application is built using Next.js for the frontend, Firebase for the backend and hosting, and Material-UI (MUI) for styling.
To get started with Chat App, follow these steps:
-
Clone the GitHub repository:
git clone https://github.com/your-username/chat-app.git
-
Change into the project directory:
cd chat-app -
Install dependencies:
npm install
-
Initialize Firebase:
-
Create a project on the Firebase Console.
-
Obtain your Firebase configuration object (usually found in your Firebase project settings).
-
Create a
.envfile in the project root and add the following variables:NEXT_PUBLIC_FIREBASE_API_KEY=your-api-key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your-auth-domain NEXT_PUBLIC_FIREBASE_PROJECT_ID=your-project-id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your-storage-bucket NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id NEXT_PUBLIC_FIREBASE_APP_ID=your-app-id -
Replace the values with your Firebase project's configuration.
-
-
Start the development server:
npm run dev
Or, if you prefer to build and run the production version:
npm run build npm start
-
run tests:
npm test
Chat App provides the following functionalities:
- User Authentication: Sign up and sign in securely to access the chat features.
- Messaging: Send and receive real-time messages with other users.
- User Search: Find other users to start conversations with.
- Conversation History: Search and view older conversations.
- Profile Management: View your profile, change your name, and update your password.
- Real-time messaging
- User authentication
- User search functionality
- Conversation history retrieval
- Profile management
| Sign in | Sign Up |
|---|---|
![]() |
![]() |
| Mobile Chat | Mobile Layout |
|---|---|
![]() |
![]() |
| Edit Button | Change name | Change Password |
|---|---|---|
![]() |
![]() |
![]() |
| Home page | Chat open |
|---|---|
![]() |
![]() |
This project is licensed under the MIT License.








