Welcome to the Mobilehead interview project! In this project you will be expected to implement a simple {slack,irc}-like chat application in React and Meteor. This project is composed of two parts - a basic section where the basic implementation of the app is developed and an extendend section where you can select an extension to the basic functionality of the app.
Implement a chat application similar to Slack or irc clients such as mIRC or https://kiwiirc.com/. This should be composed of a Meteor application with React as the rendering engine.
To submit this project, please create a public github repository, push your project to it and send the link to your Mobilehead contact person
Your basic implementation of the app should have the following views with the described functionality:
- Chat list:
- list chats in which you are participant (there can be multiple participants in a chat)
- clicking an item in the chat list will take you to that chat's details view
- Chat details view:
- list all messages in the chat.
- functionality to send a new chat message
You should implement at least two of the following extensions to the app
- Allow images to be sent as part of messages
- Allow private messages between users
- Allow editing and deleting of messages
- Build a profile page for each user to edit their display settings (e.g. change their screen name, upload a profile picture)
- An extension of your choosing
- Since this is a Meteor project you will be required to use MongoDB as your database
- Do not use the
insecure
andautopublish
Meteor packages to simplify data publication. - Use React as your rendering engine
- Feel free to use any packages from NPM / Atmosphere
- Please thoroughly document your code and include instructions for running your application.
- Make sure to use small, well formed commits as opposed to commiting all code at the end.
- If you have any issues or question, please get in touch with your contact at Mobilehead.