Code Monkey home page Code Monkey logo

real-time-chat-app's Introduction

Real-Time Chat App

This is a real-time chat application built using Go for the backend and React Native for the mobile app. The application allows users to engage in instant messaging with each other, providing a seamless and responsive communication experience.

Features

  • Real-Time Messaging: Enjoy instant messaging with real-time updates, ensuring quick and responsive communication.

  • User Authentication: Users can sign up, log in, and securely authenticate themselves to use the chat app.

  • Private and Group Chats: Create private chats for one-on-one conversations or group chats to communicate with multiple users simultaneously.

  • Push Notifications: Receive push notifications for new messages and stay updated even when the app is in the background.

  • Cross-Platform Compatibility: The React Native mobile app ensures compatibility across both iOS and Android platforms.

  • Simple and Intuitive User Interface: The user interface is designed to be user-friendly, making it easy for users to navigate and use the app efficiently.

Installation

Backend (Go)

  1. Clone the repository:

    git clone https://github.com/your-username/real-time-chat-app.git
  2. Navigate to the server directory:

    cd real-time-chat-app/server
  3. Install dependencies:

    go get -d ./...
  4. Run the server:

    go run main.go

The backend server should now be running at http://localhost:8000.

Mobile App (React Native)

  1. Navigate to the mobile app directory:

    cd real-time-chat-app/mobile
  2. Install dependencies:

    npm install
  3. Run the app:

    npx expo run:android
       # or
    npx expo run:ios

Ensure that your mobile device or emulator is connected and configured appropriately.

Configuration

  1. You need running instance of PostgreSql database - check out the Makefile
  2. Update the mobile app .env to use the correct server ip and port

Technologies Used

  • Backend:

    • Go
    • Gorilla WebSocket (for real-time communication)
    • PostgreSql
  • Mobile App:

    • React Native
    • React Navigation
    • Redux
    • WebSocket

real-time-chat-app's People

Contributors

0xivanov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.