I have an existing project built on ReactJS, MongoDB, and PHP's Laravel. Expert ReactJS experienced required.
This application is basically composed of a user generated set of pages where content is inserted. There are basically 4 "types" of pages that can be created, a Category, Attribute, Game Element and Document. Each instance of a page created will have it's own database entry with the appropriate data.
This project is about half done, and could use some very clean coders to come in and organize some of the prototype code, as well as help steer the architecture in the right direction. This will be on a per-project-milestone basis.
The first milestone would be to create a modern chat system in the existing application. It would have @username functionality with in-app notifications when a message is directed toward someone.
- A basic chat stream, displaying the name of the user generating the chat, a timestamp and of course the content of the chat.
- Chat stream should tie to each Attribute, Document, Game Element, Category instance. For example if you have a Category called "Melee Fighter" a chat stream should exist there, and be unique to it.
- This chat system will have the common @ communication protocol, similar to how Twitter functions. Utilize the chat username with an autocomplete dropdown when using the @ symbol. For example, if typing @ed it will show @eddie and @edwin and any other users that match the filter as typed.
- When the @ chat is used, a global notification should occur. This will be displayed as a dropdown utilizing the bootstrap https://react-bootstrap.github.io/introduction.html nav on the main navigation. On the dropdown there will be an incrementing number for each new chat message sent to this user. If no new ones exist, no number will be displayed and a simple "No notifications" message should display when the notifications dropdown is clicked. When new messages exist the dropdown should show the list of "instance" (Game Element, Attribute etc...) pages the chat occurred on and link to them. The chat notifications will disappear whenever the user views the page the chat occurred on. Each page should only display once in the dropdown, even when multiple chat occurrences on a single page happen.
I can provide some source documentation when we are reviewing the project together.