-
Notifications
You must be signed in to change notification settings - Fork 1
Spec for Next Minor Release
danascheider edited this page Dec 19, 2014
·
9 revisions
The specs listed on this page are focused on user experience and not technically comprehensive. Interested parties are encouraged to read the RSpec and Cucumber tests in the Canto /spec and /features directories.
Many or most of these specs may be migrated over to the Canto front-end repository in the near future. Additional, more up-to-date specifications are also available in the Canto front-end wiki.
Version 0.1.0 will be a basic to-do list site with multi-user functionality and task categorization useful to professional or pre-professional opera singers.
- Users who are new or not logged in should see the homepage when they navigate to the site
- The homepage view should offer users the opportunity to log in or sign up
- The homepage view should contain a brief description of Canto 0.1.0's functionality and purpose
- Logged-in users who view the homepage via the link on their dashboard should see a link to their dashboards
- Users should be able to create their own accounts using a sign-up form, linked from the homepage
- Users should be required to give a password, an e-mail address, a first name, and a unique username
- Users should not have access to their accounts until their e-mail address has been verified
- Users should not be signed up if:
- Any required fields are blank
- Their username is not unique
- Their username is too long (> 20 chars) or too short(< 6 chars)
- Their password is too long (> 50 chars) or too short (< 8 chars)
- Their e-mail address is in the wrong format
- They do not accept the terms of service
- Users should be required to type their password twice
- Users should be required to enter a Captcha
- Users whose accounts are not created for any of these reasons should see a notice saying that their account was not created and why
- Users who have just signed up and validated their e-mail address should be automatically logged in and rerouted to their dashboard
- Users should not be able to create admin accounts via the signup form
- Users should be able to log in by entering their username and password on the login page
- Users who enter the wrong credentials should not be logged in and should see a notice saying they have entered bad credential
- The login view should have a link to reset forgotten usernames or passwords
- The password field should not show the password as it is typed
- The login page should have a check box with text "Remember Me"
- Users who have checked the "Remember me" check box should stay logged in even after they close their browser
- Users should be routed to their dashboard after they log in
- Logged in users who visit the site should bypass the homepage and go directly to their dashboard
- Logged in users who visit the homepage via the link in their dashboard should still be logged in
- Logged out users who attempt to navigate to a dashboard should be prompted to log in
- User dashboard should display the user's to-do list
- User dashboard should display the user's recommendations
- User dashboard should have a link to edit the user's profile
- User dashboard should have links to request support or report problems
- User dashboard should have a link to view the homepage
- Tasks should have the following information:
- Title (required)
- Status
- Deadline
- Priority
- Description
- List position
- Tasks should be sortable into these categories:
- Repertoire
- Performance
- Teaching
- Networking
- Professional development
- Applications
- Resume building
- Languages
- Other
- To-do list should only show to-do items belonging to the current logged-in user
- To-do list should be sortable by title, status, deadline, or priority
- Each task should have links to edit, delete, or mark complete that item
- Tasks should be color coded by priority
- To-do list should display only incomplete tasks by default
- Users should see a 'Show completed' link to display tasks that have been marked complete
- Users who click the 'Show completed' link should see all their tasks and the link should change to 'Hide completed' without refreshing the page
- Tasks marked complete via the 'mark complete' link should be removed from the view without refreshing the page
- Users should see a link where they can create a new task
- Users who don't have any incomplete tasks should see a message that they have no tasks and a link prompting them to create one
- User should be able to show or hide tasks by category
- Support page should have contact form to contact support
- Support page should have a link to FAQ page (once we know what the FAQs are)
- Support page should have a link to delete the account
- Support page should include a form to suggest modifications or new features
- Users should have to enter a Captcha to submit the forms
- When a user's account gets deleted, their dashboard settings and to-do lists should be deleted as well
- Users should see fields where they can edit their profile information
- Available fields should include:
- Username
- Password
- First name
- Last name
- Form should be validated so users can't leave username, password, first name, or e-mail blank
- Users who change their password should be required to enter the old password and confirm the new
- Users' e-mail addresses should not be saved until they have entered a confirmation code for the new e-mail
- Users should see fields for all the to-do item's attributes
- If a user attempts to update a to-do item with its title or status field blank, the update should fail
- If the update fails, the user should see a notice telling them the update failed and why
- Admin users should be able to create new users
- Admin user creation forms should enable creation of admin users
- Admin should have to re-enter password and Captcha to create a new admin account or to change any user's username, e-mail, or password
- Admin should not be authorized to delete required information (e.g., can change user's e-mail without verifying, but cannot delete e-mail)
- Admin dashboard should show links to edit users
- Admin should be able to edit all user account details
- Admin users should have a 'messages' section where they can view support requests or other messages from users