KrafChat App is a full-stack chat application built using React.js, Firebase, and Zustand. This project provides real-time chat functionality with user authentication, image sharing, emoji support, and more.
- Real-time Chat: Send and receive messages in real-time.
- User Authentication: Secure sign-in and sign-out using Firebase Authentication.
- Media Sharing: Share images within the chat.
- Emoji Support: Enhance your messages with emojis.
- User Blocking: Block and unblock users.
- Responsive Design: Optimized for both desktop and mobile devices.
- React.js: Front-end library for building user interfaces.
- Firebase: Backend-as-a-Service (BaaS) for authentication, Firestore for real-time database, and storage for media files.
- Zustand: State management library for managing global state in React applications.
- CSS: Styling the application with modular CSS files.
- Node.js and npm installed on your machine.
-
Clone the repository:
git clone https://github.com/imtushaarr/KrafChat-App.git cd KrafChat-App
-
Install dependencies:
npm install
-
Set up Firebase: • Create a Firebase project in the Firebase Console. • Enable Authentication and Firestore Database. • Copy your Firebase config and replace the contents of the .env file with your Firebase project configuration:
-
VITE_API_KEY=your_api_key VITE_AUTH_DOMAIN=your_project_id.firebaseapp.com VITE_PROJECT_ID=your_project_id VITE_STORAGE_BUCKET=your_project_id.appspot.com VITE_MESSAGING_SENDER_ID=your_messaging_sender_id VITE_APP_ID=your_app_id
-
Run the application:
npm run dev
- Sign Up/Sign In: Register a new account or sign in with existing credentials.
- Start a Chat: Select a user from the list and start chatting in real-time.
- Share Media: Click on the image icon to share photos.
- Block/Unblock Users: Use the block button in the detail section to block or unblock users.
- Log Out: Sign out using the log out button.
Contributions are welcome! Please fork the repository and submit a pull request.
For any queries related to this project, please contact us at:
• Email: tusharguptagps@gmail.com
• GitHub Issues: KrafChat-App Issues