Skip to content

WhatsApp Clone is a real-time messaging app built with React Native and Expo. It features phone number authentication via Clerk, animated chat interfaces with Gifted Chat, and seamless navigation using Expo Router. The app includes core messaging, call logs, and update sections, designed with responsiveness in mind.

License

Notifications You must be signed in to change notification settings

madsdev404/whatsapp_clone

Repository files navigation

WhatsApp Clone

A WhatsApp clone built with React Native and Expo, featuring real-time chat, authentication, and a clean user interface.

Features

  • User authentication with phone number (via Clerk)
  • Real-time chat messaging
  • Call logs and community sections
  • Responsive UI for various screen sizes
  • Built with Expo Router for seamless navigation

Technologies Used

  • React Native
  • Expo
  • Expo Router
  • Clerk (for authentication)
  • Gifted Chat (for chat UI)
  • date-fns
  • react-native-reanimated
  • react-native-gesture-handler
  • react-native-safe-area-context
  • react-native-screens

Screenshots

Here are some visual demonstrations of the application's features:

Animated Previews

Chats Calls Updates
Chats Preview Calls Preview Contacts Preview

Key Application Screens

  • Authentication Screen: The initial screen where users enter their phone number to authenticate. Authentication Screen

  • Chat List: Displays a list of active conversations, showing recent messages and contact information. Chat List

  • Individual Chat View: The interface for sending and receiving messages within a specific conversation. Individual Chat View

  • Settings Page: Provides options for users to customize their application experience. Settings Page

  • Other Screens:

    • Screenshot 2
    • Screenshot 3
    • Screenshot 5
    • Screenshot 6
    • Screenshot 8

Installation

To run this project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/your-username/whatsapp-clone.git
    cd whatsapp-clone
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file in the root directory and add your Clerk publishable key:

    EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=YOUR_CLERK_PUBLISHABLE_KEY
    

    Replace YOUR_CLERK_PUBLISHABLE_KEY with your actual Clerk publishable key.

  4. Run the application:

    npm start

    This will open the Expo Dev Tools in your browser. You can then choose to run the app on:

    • An Android emulator/device (a)
    • An iOS simulator/device (i)
    • A web browser (w)

Usage

  • Authentication: Upon launching the app, you will be prompted to enter your phone number for authentication.
  • Navigation: Use the bottom tabs to navigate between Chats, Calls, and Updates.
  • New Chat: Click the new chat icon to start a new conversation.

Contributing

Contributions are welcome! Please feel free to open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

WhatsApp Clone is a real-time messaging app built with React Native and Expo. It features phone number authentication via Clerk, animated chat interfaces with Gifted Chat, and seamless navigation using Expo Router. The app includes core messaging, call logs, and update sections, designed with responsiveness in mind.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages