Chat with dirty dads anytime, anywhere
Create multiple Browserify modules, following the Single Responsibility Principle, that perform the following functions:
<div>
below the input field that will also hold all new messages as they get created.Timestamp
- Put a timestamp on each message.
- Again, this will change the structure of your JSON file.
- To help with displaying times check out MomentJS
Emoji's
- Can include emojis in the text of your message
- User types in :smile: your code interprets that and puts in the appropriate unicode.
Multiple Users
- Create an object in your JavaScript that holds an array of names (see example below).
- Next to the message input box, there should be a radio button group for each name in the list.
- When a user enters a message, it should be prepended with the chosen user's name, in bold text.
Editing
- Let users edit an existing message.
- Add an edit button next to the delete button that, when clicked, will take the message and put it back in the message input at the top.
- Once user edits the message and presses the return key again, the message text in the list should be updated.
Custom Themes
- Add a button/link to the UI labeled "Change Theme".
- Remove the existing elements for changing the theme.
- When user click on Change Theme element, show a Bootstrap modal dialog box.
- Inside the modal, show two color picker fields - one for background color and one for font color.
- Add a Save and Cancel button to modal.
- When user clicks Save apply the chosen colors.
Package installs
You will need to install some packages after pulling down the code:
cd lib
npm install
Dependencies:
cd lib
npm init
npm install grunt grunt-contrib-jshint matchdep grunt-contrib-watch grunt-browserify jshint-stylish --save-dev
npm install jquery bootstrap --save
Grunt
by typing "grunt" while in the lib folder in the command line. This will compile the whole project down into a single app.js
file.Emoji picker install:
npm install vanilla-emoji-picker --save
Timestamp install:
npm install moment --save
Start a home server and navigate to http://localhost:8080 in your browser