Giter VIP home page Giter VIP logo

pubnubdevelopers / chat-component-app-simple Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 2.0 848 KB

A React group chat demo powered by PubNub and reusable chat components.

Home Page: https://pubnubdevelopers.github.io/chat-component-app-simple/

License: The Unlicense

JavaScript 7.80% HTML 4.01% CSS 2.37% TypeScript 85.82%
chat chat-application chatbot irc pubsub publish-subscribe pubnub pubnub-chatting chatkit react

chat-component-app-simple's Introduction

Please note that this project is no longer actively maintained or accepting Pull Requests. Please use the React Group Chat app instead.


Simple Group Chat App

Featuring Reusable PubNub React Chat Components

This project is a collection of reusable chat components that makes it simple to get started with PubNub in React. Each of the components are designed to be reusable, expandable, and easy to use in another React application. Anyone can build a robust chat app by using these components as a starting point.

Support Chat App was built using the components found in this project.

This project is an example of a group chat style chat experience using reusable chat components. It includes the basic features you would expect from a group chat.

Important Note: This project is a work in progress. It may contain incomplete code. Pull requests to fix bugs and add features are always welcomed.

Component Chat Demo

Included Components:

  • Active Users - Displays a list of the active users in the chat and a total count.
  • Message List - Displays the messages received in the chat and the chat history when first loaded.
  • Compose - Provides input area for sending new messages to the chat.

Components Coming Soon:

  • Emoji - Adds emojis to the Compose component.
  • Typing Indicator - Add typing indicator to the Compose component.
  • Read Receipts - Updates Message List component with a timestamp of when messages were last read.

Notable Features:

  • Group style chat with automatic creation of users.
  • PubNub Presence powered user activity.
  • Message history.

Requirements

PubNub Signup

PubNub Account and App Setup

  1. You’ll first need to sign up for a PubNub account. Once you sign up, you can get your unique PubNub keys from the PubNub Developer Portal.

  2. Sign in to your PubNub Dashboard.

  3. Click Create New App.

  4. Give your app a name, and select Chat App as the app type.

  5. Click Create.

  6. Click your new app to open its settings, then click its keyset.

  7. Enable the Channel Presence feature for your keyset.

  8. Enable the Storage and Playback feature for your keyset.

  9. Enable the Stream Controller feature for your keyset.

  10. Copy the Publish and Subscribe keys for the next step.

Building and Running

  1. You'll need to run the following commands from your terminal.

  2. Clone the GitHub repository.

    git clone https://github.com/PubNubDevelopers/chat-component-app-simple.git
  3. Navigate into the repository.

    cd chat-component-app-simple
  4. Open src/config/pubnub-keys.json. Replace YOUR_PUBLISH_KEY_HERE and YOUR_SUBSCRIBE_KEY_HERE with your keyset from your PubNub Dashboard.

  5. Install the node modules.

    npm install
  6. Run the project in your local environment.

    npm start

    A web browser should automatically open and you can start chatting! If it doesn't open try navigating to http://localhost:8080/

Further Information

Checkout PubNub Chat Docs page for more information about how to use the React and Redux SDKs to add in-app chat to your applications.

chat-component-app-simple's People

Contributors

chandler767 avatar darryncampbell-pubnub avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

chat-component-app-simple's Issues

ActiveUsersList has wrong import/export statements

This doesn't seem to make sense for this component: ActiveUsersList. It shows as an error in the Code editor

import MessageList from '../MessageList/MessageList'
export default MessageList

Should this just be
export * from './ActiveUsersList'
like the others components

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.