nss-evening-cohort-06 / chatty-fancy-butterflies

chatty-fancy-butterflies created by GitHub Classroom
0 stars 0 forks source link

Chatty Daddy Chat App


Chat with dirty dads anytime, anywhere

Part 1

Requirements for the project:
Browserify

Create multiple Browserify modules, following the Single Responsibility Principle, that perform the following functions:

Navigation
Page Options
Messages

Part 2

Bonus functions:

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.

Part 3

How to run the app and live demo

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

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

Live Demo