# Family Reading Tracker

## Description
This application helps families track the amount of reading each family member does.  As being an active reader is important to both parents and children, both Parents and children can track the books that are being read, as well as the number of minutes spent reading by each family member.  Books can be entered by entering the data for the book, or by searching an online API based on the ISBN.  Prizes can be awarded by reaching goals set by a parent.  Parents can control the prizes and their children's reading goals.

## Project details
- Category: General
- Difficulty: 
- Suggested stack: Not specified
- Approval status: Approved

## Target users
### This system has two types of users

### Parent
Can add users to a family, either as a Parent or Child

### Child
Can log a book that they have read or are reading

## Tags
MVP, Notes, Optional

## User Stories
### Register
As a user, I need the ability to register so that I can begin tracking my family reading progress.

### Login
As a user of the application, I need the ability to log into the system.

### Set Up Family Accounts
As a parent, I need the ability to add Child and Parent accounts to my Family.

### Add a Book
As a Parent or Child, I need to be able to add a book to the system.  A book must include (but is not limited to):
	Title
	Author
	ISBN(s)

### Record Reading Activity
As a Parent or Child, I need to be able to record the reading that I do.  The amout of reading is recorded in minutes, and should include (but is not limited to):
    The Reader (i.e. Parent or Child account)
    The Book being read
    The format of reading
        - Paper
        - Digital
        - Audiobook
        - Read-Aloud (Reader)
        - Read-Aloud (Listener)
        - Other
    The amount of time spent reading
    Notes (optional notes that the reader can add)

### Record Child Reading Activity
As a Parent, I need to be able to record the reading that a Child does.  Details are the same as "Record Reading Activity"

### Check Reading Activity
As a Parent or Child, I need to be able to see how many books I have completed, how many minutes I have spent reading, the current book(s) I'm reading, and my progress toward all relevant Prizes.

### Check Child Reading Activity
As a Parent, I need to see all Child reading activities.  See "Check Reading Activity" for applicable information.

### Set Up a Prize
As a Parent, I need to be able to create a new reading milestone and assign a prize to reaching that milestone.  A prize can have a start and end date, and only reading activity during that date range is applicable to the prize.  A prize includes (but is not limited to):
	Name
	Description
	Milestone (minutes reading)
	User Group (Parent, Child, or Both)
	Max Prizes (Total number of prizes that can be given out, i.e. only the first 2 people to reach a goal get the prize)
	Start Date (The date the prize becomes available)
	End Date (The date the prize is no longer available)

### Edit a Prize
As a Parent, I need to be able to modify a Prize's attributes.

### Remove a Prize
As a Parent, I need to be able to remove an inactive prize.  Only inactive prizes can be removed.

### See Prizes
As a Parent or Child, I need to be able to see what prizes are available to me.

### Get Book Info from API (ISBN)
Allow the user to add a book using the book's ISBN and looking it up through an online service

### Get Book Info from API (UPC Code)
Allow the user to add a book by scanning a UPC code from their book and looking it up through an online service

### Set Up a Combined Prize
As a Parent, I need to be able to create a new reading milestone that family members will reach collectively. I.e. All family members need to read a total of (x) minutes, or Each family member reads (x) minutes.  When the requirements are met, all who participated will get the prize. (i.e. When everyone reads for 10 hours, the whole family goes out for ice cream.)

### Leaderboard Rankings
As a Parent or Child, I want to be able to see how my reading amount compares to other family members by total minutes read.

### Friends List
As a Parent or Child, I want to be able to add other users as friends to keep track of their reading activity.  Child friend requests should be approved by both the child and one parent.
