Created
November 22, 2014 21:34
-
-
Save Billboz/8f6fe0ef9ba8d29303b8 to your computer and use it in GitHub Desktop.
Project_Requirements_Plan
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
##Use Cases/Users Stories for Brians App.... Use as a template for my app!! | |
Visit the homepage | |
Visitor should be able to sign up | |
Visitor should be a le to sign in | |
Visitor should be able to sign out | |
User should be able to see their dashboard | |
There should be three types of users: admin, teacher, Campus Director | |
Admin should ba able administer the users, inc. set user type (CRUD) | |
Admin should be able to create a task (READ, TODO) | |
Admin should be able tho assign a task to to all users of a user type | |
User should see their outstanding assignments on their dashboard | |
User should be able to mark an assignment completed | |
User should receive a weekly email of outstanding assignments, noting which are overdue, and which are upcoming | |
User and Admin should be able to see an activity list (journal like) of assigned and completed assignments | |
Users should be able to see all assigned work across all users, with icon showing status (complete, not complete) | |
Users should receive an email when they receive a new assignment | |
Users who create an assignment should receive an email when a user completes it | |
When creating an assignement/task, the body (whick may be instructions or the content to read) should be able to be input via Markdown | |
Markdown content should render properly on the site | |
Assignments should have an expected completion date | |
Assignments should be able to repeat on a schedule (2 blog posts a month, 1 weekly journal every Friday, etc) | |
Assignments should contain an external link (URL to read, URL for the conference call etc) | |
Assignments should have a title, expected completion date, description, notes, action type (READ, WRITE, ATTEND, etc) | |
Users should have a first name, last name, role (Teacher, CD, Admin), email, campus, birthdate | |
Campuses should have a name, city, state, postal code, phone number | |
When completing an assignment, users should be able to add a comment and a link (to the item written, or any URL) | |
When creating an assignment, users should be able to select from a canned assignment list (common assignments) | |
## Data | |
* User: first name, last name, role (Teacher, CD, Admin), email, campus, birthdate | |
* Campus: name, city, state, postal code, phone number | |
* Assignment: title, expected completion date, description, notes, action type (READ, WRITE, ATTEND, etc) | |
* Assign Assignment to a User: state (completed, not-completed), user, assignment, assigned_date, completion_date, comment, link | |
* Common Assignments | |
## Data Relationships | |
* User belongs to a Campus and a Campus has many users | |
* User can be assigned many assignments. Assignments can be assigned to many users. | |
* | |
## Failure Points/Potential Pitfalls/Gotchas/Callenges/What happened?!?!?!? | |
* (for learntastic) The instructor would need to input the concept list up front.... | |
* (for learntastic) Getting everyone onboard including instructors | |
## Pages ... to go over with a designer | |
* Home page | |
* Sign in page | |
* Sign up page | |
* User dashboard | |
* Individual user assignment | |
* Overview page showing all assignments and users with status icons | |
* CRUD for Assignments | |
* CRUD for Users | |
* CRUD for Common Assignments | |
* Email: notification of new assignments | |
* Email: reminder of outstanding assignments | |
* Email: notification of completion of assignment | |
## Class Diagram | |
## Controllers and action | |
* session (index, signin, signup, signout, user dashboard) | |
* user | |
* assignments | |
* common_assighments | |
## Gems/Libraries | |
* kaminari | |
* activeadmin | |
## Services | |
* Github | |
* Heroku | |
* .... | |
## Later | |
* Add ability to schedule and repeat assignments: 15 | |
* Searching: 12 | |
* Assignment priority: 4 | |
## Sizing | |
## 1 | |
* Create new Rails app, with .gitignore, pushed to Github: .5 | |
* Create all models with migrations: .5 | |
* Add active admin with sections for all models: 1 | |
* Push to new Heroku app: .5 | |
## 2 | |
* Add bootstrap: .5 | |
* Create a seed file: .5 | |
* Home page, nave bar, header, footer: 1 | |
* User sign in/session management: 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment