Skip to content

Latest commit

 

History

History
57 lines (35 loc) · 2.62 KB

contacts-manager-requirements.md

File metadata and controls

57 lines (35 loc) · 2.62 KB

Contacts Manager

Your task is to create a simple Ruby on Rails application for managing contacts - details below. This video shows the completed Contacts Manager application in action. You can use this as a reference.

Requirements

Authentication

Give users the ability to login and logout. Protect all routes from anonymous access (i.e. a user has to be authenticated in order to view/create/edit/update/delete contacts)

Design

The application needs to have a modern look and feel. You are encouraged to use Bootstrap but are welcomed to use any other frontend CSS framework if you'd like.

Functionality

Once the user is authenticated, the are presented with a list of their contacts in alphabetical order. This list should display the user's avatar (or a default avatar if the user hasn't uploaded an image for the particular contact), full name, email, and phone number. From this view the user can add a new contact or select an existing contact. Contacts need to capture the following information

  • first name
  • last name
  • email
  • phone number
  • avatar

If the user selects an existing contact, they are taken to the contact details page where the following information is to be displayed

  • full name
  • email
  • phone number
  • avatar (the image the user uploaded or a default avatar if none was uploaded)

From the details view, the user can choose the edit the contact information or delete the contact entirely. If the user decides to delete the contact, they need to be presented with a confirmation prior to actual deletion.

Resources

Rails Guides

Rails guides is an excellent resource for all things related to Rails. The following sections are relevant to this project

Railscasts

Railscasts is a collection of screencasts created by Ryan Bates which cover an incredible amount of topics. If you don't feel like watching the video, there is an asciicast for every episode which transcribes the video. This episode will be relevant to this project

Miscellenous

Using Dragonfly to handle uploads in Rails Avatar Magick