Key Information

Register
Submit
The challenge is finished.

Challenge Overview

The HiWire Chat application will be a skeleton design of a chat application, similar to Slack or Rocket.chat.
The application will be a single window with scrolling chat and a simulated backend, but all on the client-side.
The client wants this prototype to encompass many rich chat features like:

* Message display, and editing
* Typing indicator
* Custom and regular emoji support
* Video, picture, and document upload, with preview
* User avatar images
* Animations and transitions
* Bold, italics, code formatting, Katex support
* React-Native clients for mobile devices and desktop

Browser requirements

We'll be targeting all modern browsers - IE, Firefox, Safari, and Chrome.  If there are problems with supporting a specific browser, please bring this up in the forum right away.  Mobile targets will be handled by a future React Native implementation.

React

The implementation will be done in React.  Future challenges will also integrate with React-Native and Electron.io for native mobile and desktop clients.
Your solution must be easily deployable and testable on Heroku

UI

We recently implemented a large prototype of a React application called HiWire.  For this challenge, we'll reuse the chat part of that UI for the message display.  Please try to stick with that theme as much as possible.

The converted React Native prototype, as well as the design files, will be available in the forum.  Focus on the "Messages" portion of the screens.

Requirements

The requirements for this challenge can be found in this Git ticket:

*  https://gitlab.com/hercules-react-chat/react-chat-ui/issues/5

Existing code

Existing code for the app skeleton and general message display has been implemented and will be linked to from the forum.  Your submission must be a patch file against the existing code in Git.

Submission

Your submission must include:

* The code meeting the requirements above, in patch file form against commit hash 8e8ba511f3ec0d992484cd6c107343052efde479
* A detailed README.md covering how to build and deploy the application locally, and also how to deploy to Heroku
* Validation information (either a separate doc or in the README.md) for each of the requirements above
* A video showing the media and embeddings being added and played


Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30059485