Skip to content

Real-time full stack chat app build with React, Node, Firebase, Zustand, and emoji support.

Notifications You must be signed in to change notification settings

imtushaarr/KrafChat-App

Repository files navigation

KrafChat App

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.

WhatsApp Image 2024-07-31 at 04 45 55

Ducumentation Link :

Documentation Link

Features

  • 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.

Technologies Used

  • 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.

Getting Started

Prerequisites

  • Node.js and npm installed on your machine.

Installation

  1. Clone the repository:

    git clone https://github.com/imtushaarr/KrafChat-App.git
    cd KrafChat-App
    
  2. Install dependencies:

    npm install
    
  3. 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:

  4. 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
    
  5. Run the application:

    npm run dev
    

Usage

  • 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.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request.

Contact Us

For any queries related to this project, please contact us at:

•	Email: tusharguptagps@gmail.com
•	GitHub Issues: KrafChat-App Issues

About

Real-time full stack chat app build with React, Node, Firebase, Zustand, and emoji support.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published