amorriesette/Household-Directory

★ 0Forks 0HTMLGitHub ↗Compare

README

AUTHOR: Angelica Morriesette
EMAIL: [email protected]
VERSION: 1.0



User Story
==========
As a user of your system, I want to be able to store multiple seasonal (date ­bound) addresses
for a single Contact and Household, and have those addresses automatically populate the
address fields on the Contact and Household record when the current date falls within their
date range.

User Acceptance Criteria
========================
1. I can store multiple addresses with start and end dates
2. The addresses automatically populate the MailingAddress fields on the Contact when
they are ‘in­ season’, meaning the current date is within the start/end date values of that
address
3. The current valid address is indicated on the address record
4. A start and end date overlap for the addresses is prevented by the system
5. I can override a start and end date and force an address onto the Contact manually
6. I can mark an address as invalid
7. The code is well tested and covered with meaningful unit tests


Implementation
==============
Languages: Javscript, HTML
Frameworks: Angularjs, jquery, bootstrap
Files: index.html, styles.css, controller.js, Readme

  - The Address record will be displayed in the format below:
      ACTIVATED  |  ADDRESS NAME  |  ADDRESS  |  ACTIVE MONTH  |  EXPIRATION MONTH  | MODIFY

  - The user will be able to edit and delete any address added to the list. If they are editing an existing record, they
    will be prompted if they have conflicting dates where they can override the existing date in favor of the new one.

  - Any addresses added to the list can be activated and deactivated. Once deactivated, all occurrences of the address
    will be removed from the "activeMonth" array. This process is reversed upon re-activating the selected address.

  - The user has the ability to change the current month to a future month to verify the active address within
    that time frame. If there is no address activated for that month, no address will be displayed.

  - Below the address table, the user will be able to see all related contacts for that household. This is useful in the event
    there are multiple people in the household who also have personal seasonal addresses.




Outstanding Issues
==================

  - The current time frame given for active addresses is limited to monthly.

  - The user input for the form is currently not being validated.

  - When there is a conflict with the time frames the previous address is deactivated, but only on the backend.


Future Additions
================
  - Adding Google API for address validations. This will ensure that every address entered is a valid address

  - Use "month-day" as the time frame for valid addresses. This will allow users to have multiple addresses within a given month.
    The algorithm would remain the same, but the data structure would change from an array to a hash of array objects.

  - The ability to switch between related/household contacts by clicking the respective names

Issues