Coder Social home page Coder Social logo

coolsoft-13's People

Contributors

aminazoheir avatar dayna161193 avatar hesham9 avatar hishamelgezeery avatar linabasheer avatar mahmoudaabdelwahab avatar marwa-mehanna avatar mennaamr avatar mnzaki avatar mo7amedsala7nazir avatar mohammad-abdulkhaliq avatar msameh93 avatar muhammedabuali avatar omar-kassem avatar yahiaelgamal avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coolsoft-13's Issues

Conflicting relation names

Hisham can you please check the relations for votes, comments and likes?

For example:
The relation has_many :ideas and has_and_belongs_to_many :ideas, :join_table => :votes are conflicting with each other.
So could you please add for the second relation:class_name option.
has_and_belongs_to_many :votes, :class_name => 'Idea', :join_table => :votes

S2.8 : As an Admin I can add/delete a synonym to a tag

Tasks :
User Interface (modal dialog)
Delete Synonym option
Testing, Sketches

Success Scenario :

1.The Admin clicks on Tag Management option on the admin navbar.
2.The Admin chooses the tag he wishes to add a synonym to.
3.The Admin recieves a modal dialog which displays the synonym list.
4.The admin can then write the name of the synonym and recieves the response.
5. The admin clicks an x on the sym in the list and it is deleted from the tag.

Failure Scenario :

1.The Sym already exists as a Tag but is not in the selected Tag's sym list,then it is added to Tag's Sym list.
2.The Sym already exists in the Tag's sym list, is not added and the admin is notified so in the textbox where he entered the sym name.
3.The Sym has the same name of the tag cannot be added and the admin is also notified on the textbox.

S3.11: As a Registered User, I should be able to share the ideas on pinterest

Tasks:
1.Documentation
2.UML
3.Share
4.Testing
5.GUI
Success :
1.The user clicks in the "share" button on the idea he wants to share.
2. The user chooses the Pininterest icon.
3. The user is informed by a modal dialogue that his idea/comment has been shared successfully.
Another Senario:

  1. When the user votes for an idea a modal dialogue will appear asking him wether he wants to share his action.
    Failure :
  2. If the user isn't already logged on pin interest he will be redirected to pin interest and asked to log on to pin interest.

S1.4: As a Guest I can login with my twitter account

Tasks

  1. Research: twitter integration with devise
  2. Add login logic (whether gem or custom)
  3. Login Via Twitter button in the nav bar
  4. Documentation and UML
  5. Tests

Success Scenarios

  1. The user clicks on login via twitter.
  2. The user is asked to authorize the access.
  3. The user will be redirected to his homepage.

Failure Scenarios

  1. If the user is not logged on twitter, he will be redirected to twitter and asked to login.
  2. If the access to twitter is not authorized, the user will be notified that he couldn't log in via twitter and will be redirected to the landing page.

S3.7: As a Registered User, I should be able to delete my comments on any idea

Tasks :
1.Documentation
2.UML
3.Delete
4.Testing
5.GUI
Success :

  1. User clicks delete button next to his comment on any idea page.
  2. An dialog appears asking for confirmation to delete the comment.
  3. User clicks yes, he is informed that his comment has been deleted.
    4.The idea not archived.
    Failure
  4. User clicks delete button next to his comment on an idea that has been deleted.
  5. An alert messege will appear stating that this idea has been deleted.

S3.5: As a Registered User, I can rate an idea.

Tasks:
Writing test files and testing code,
Documentation,
UML,
GUI,
Backend implementation for idea rating.

Success Demo:

  1. Registered User hovers over the current rating of the idea,
  2. A small panel appears, allowing the Registered User to put his own ratings,
  3. The current rating is updated,
    4.The idea not archived.

Failure Demo:

  1. A Registered User tries to rate on an idea that has been deleted or archived:
    a) A modal dialog appears stating that he is trying to rate an idea that does not exist.

#3.1:As a Registered User I should be able to submit/edit an idea

Tasks:
1.checking identity of user.
2.documentation & UML.
3.uploading picture of the idea.
4.validation.
5.form of submitting/editing the idea.

Success:
1.The registered user clicks on a button to open the idea submitting form.
2.The registered user enters the idea title, problem it solves and its description following the idea submission guidelines which are displayed next to the form, also The registered user can add an image or images if he so chooses.
3.He then enters the idea tags via auto-complete option which highlights the tag after it is written, as the user is writing the tag a list of similar, synonym tags is displayed he can then choose a tag or continue typing.
4.He then chooses the submit option.
5.On success the user should be redirected to his "idea page" which is simply the page with all information about the idea that is important to the user also at the same time he should be alerted that his idea was submitted successfully via idea page.
6. Idea Submitter should edit his idea in a form similar to the original form where he
submitted his ideas.
7. Idea Submitter then can submit his edit and be notified on the webpage that he edited
his idea successfully
8. Then all users related to the idea should be notified accordingly.
9.An Idea editor cannot change the title, the title box will appear shaded and unclickable.

failure:
On Failure the user should remain in the same form where he was filling
details about his idea however he will be alerted dynamically where he
has gone wrong via hints/tips monologue and can then enter his idea again
or change it so it fits the proper idea submission "guidelines".

Examples :

  1. Idea submitter forgets to enter data in a particular field.
  2. Idea submitter enter data in wrong format.
  3. Idea submitter enters the idea description but does not follow idea submission guidelines
  4. A guest tries to enter an idea has option to go to registration to have an account in order to enter his idea. The idea page should be saved.
    5.If the idea description was too long or too brief a message is attached to the description box is shown to the user.
    6.If the tag is not highlighted therefore not present in the tag cloud the user is notified of that.
    7.If the idea was detected as a spam by the spam module the user is alerted via modal dialog but remains in the idea submission form so he can try again.
    8.The registered user tries to enter an idea while he is not logged in A sign in/up modal dialog appears.

S4.5: As a Registered User/Guest, I can search for ideas using a keyword

User Story : As a Registered User/Guest, I should be able to search for ideas using full text search.

Success Demo ๐Ÿ‘

  1. User/Guest enters a search term into the search box in the navigation bar and presses enter or clicks the search icon.
  2. The user is redirected to the stream page if he is in a different page.
  3. The search results are listed with ideas displayed in the same manner as the stream.

Failure Demo ๐Ÿ‘Ž

  1. If the User/Guest didn't type any text in the text area, then the search button will be greyed out and pressing enter will not be effective.
  2. If there are no search results, the page displays a failure message "No results found!"
  3. If the system is down a "sorry, try again later.." message will appear.
  4. If the User/Guest misspells a word, "Do you mean?" and a suggestion for a correct word will appear in a drop list under the search box.

Tasks :

Done:
1-include the gem into the gemfile, (points = 0.25)
2-create the text field for the input of the search key, (points = 1)
3-specify the columns of the certain table used in searching, (points = 0.25)
4-create a view for the page in which will be displayed the search results in the from of links for the each idea page, (points = 1.5)

Reopened:
5 - Enhance the GUI (points = 1)
6 - Tests (Points = 1)

S3.2: As an Idea Submitter/admin I should be able to delete my idea

Tasks:

  1. Writing test files and testing code,
  2. GUI.

Success:

  1. Admin/ Idea Submitter simply chooses the delete option by clicking on the delete idea button,
  2. He will be redirected to the homepage after a modal dialog confirming the deletion,
  3. Idea page should be removed and all users related to idea should notified accordingly and the idea will no longer exist on the system.

Failure:
If the idea was already deleted, the action will fail and the user will be notified that the idea is already deleted.

S4.2: As an Idea Submitter / Committee member, from the dashboard I can view the daily performance of ideas.

Tasks:
1 - Research
2 - Create Threshold method
3 - Create Dashboard controller
4 - Create tabbed view
5 - List Ideas for Committee/Idea Submitter
6 - Generate bulbs view (Ajax/JQuery)
7 - Documentation
8 - UML
9 - Tests

Success Scenarios:

  1. Idea Submitter / Committee enters the dashboard. He clicks on one of the two tabs: "My Ideas" or "Approved Ideas". The "Approved Ideas" tab only appears to committee members.
  2. The user can click on a button "Choose Ideas" to view a list of all his ideas to choose which five to
    display in the dashboard.
  3. He clicks an idea from the five displayed ideas. The ideas are displayed in a visual way as lighted bulbs, with the light level representing today's performance.

Failure Scenarios:

  1. If a Guest tries to perform the action, he is prompted with a modal dialog to log-in or sign-up.
  2. A check has to be done to make sure that this idea is unarchived and the idea's submitter is not banned/deactivated.

S3.8: As a Registered User, I should be able to like any comment

Tasks :
1.Documentation
2.UML
3.Like a comment
4.GUI
5.Testing
Success :

  1. User clicks like button next to comment on the idea page.
  2. The number of likes on this comment is incremented.
  3. The like button is replaced with an unlike button.
  4. The user clicks the unlike button and the number of likes is decremented.
    5.The comment is not deleted.
    6.The idea not archived.
    Failure :
  5. User clicks like button on a comment that has been deleted.
  6. A modal dialog will appear stating that this comment has been deleted.
  7. A Guest clicks the like button on a comment.
  8. A Signup/Login modal dialog appears.

S1.9: As a Registered User, I can edit my settings

Tasks:
Add settings field in User table
Add settings link in navigation bar
change_settings method
Tests
Documentation and UML

Success Scenario:

  1. Registered User clicks on his username on the navigation bar a drop down list appears that has a settings link.
  2. User presses settings link and a modal dialog appears.
  3. Checkboxes are available for enabling/disabling notifications for comments or votes.
  4. User clicks "Confirm" button to confirm changes in the settings and the dialog is dismissed.

Failure Scenario:

  1. Registered User presses the settings link while logged off.
  2. A login/signup modal dialog appears with the message "Please sign in to edit your settings".
  3. A Guest tries to perform the action, he is prompted with a modal dialog to log-in or sign-up.

S3.8: As a Registered User, I should be able to like any comment

Tasks :
1.GUI ---> AJAX
Success :

  1. User clicks like button next to comment on the idea page.
  2. The number of likes on this comment is incremented.
  3. The like button is replaced with an unlike button.
    4.The comment is not deleted.
    5.The idea not archived.
    Failure :
  4. User clicks like button on a comment that has been deleted.
  5. A modal dialog will appear stating that this comment has been deleted.
  6. A Guest clicks the like button on a comment.
  7. A Signup/Login modal dialog appears.

#1.1-b: As a User who has been invited/registered to become a commitee member I will be able to choose my area of expertise.

Tasks:
1.get all tags from tags table and list them in drop down list/or some other method of viewing
2.allow choosing multiple tags
3.enter the user's username/id in the relation table with the tags chosen
4.redirect to home page
5.Create Doctumentation
6.Create UML

Success Senario:
1-a. The user gets a notification that he was invited to become a committee member.
1-b. The user clicks signup and chooses to ba a committee member.
2. A modal dialog appears for the user to choose his areas of expertise from the available tags.
3. The User clicks finish and is redirected to his new homepage.

Failure Senario:

  1. If the User doesn't choose any tags, he should be notified that he should choose atleast one are of expertise.

3.6: As a Registered User, I should be able to add/edit comments on any idea

Tasks:
1.checking identity of user (Points =1)
2.documentation & UML (Points=1)
3.form of adding/editing comments (Points=1)

Success: (Y)

  1. The User types his comment in the commenting text area and presses add comment.
  2. The comment is added to the rest of the comments, and the edit and delete options appear next to the comment.
  3. User clicks edit and the comment box is replaced with a text area containing his original comment.
  4. User edits his comment and presses done.
  5. The text area is replaced with the comment after being updated.
    6.The idea not archived.

Failure : (N)

  1. A guest clicks add comment.
  2. A Signup/Login modal dialog appears.

S4.7: As a Registered User I can edit my profile.

Tasks:
Documentation
UML
UI
Tests

Success scenario:
1.The user will open their profile page.
2.The user will click on "Edit My Profile".
3.The user can click on "Change My Profile Picture", they will be asked to upload an image to be their new profile picture.
4.The user can click on "Edit My Info", they will be able to enter any data about them which will appear in their "About Me "section in his profile.
5.The user will click on "Save", and their profile page will be updated.

Failure scenario:

  1. If the Registered User edits their profile and does not follow the website's standards (length/characters allowed in "About Me"/picture format/etc) they will be notified and asked to follow the website's standards.
  2. If a Guest/Logged off user tries to perform the action, he is prompted with a modal dialog to log-in or sign-up.

S4.11: As a Guest/Registered User/Admin I can view the User profiles

Tasks:

  1. Create view method in user controller
  2. Create the profile view
  3. Documentation of method
  4. Story sequence diagram & artifact
  5. GUI
    6.Tests

Success Scenario:
1.(a) The Guest/User/Admin clicks on any username (link to profile).
1.(b) He will be redirected to this persons profile.

2.(a) The User clicks on the "My profile" link in the navigation bar.
2.(b) He will be redirected to his profile.

Failure Scenario:
1.(a) The Guest/User/Admin clicks on any username (link to profile) that has been deactivated or banned.
1.(b) He is redirected to the profile's page and it states that this profile is either deactivated or banned.

#1.1-a: As a Guest I can register to the system as either a User or a Committee by filling very few fields

Tasks:

  1. Allow the Guest to enter a preferred username & password to register.
  2. Guest is redirected to the registration form, enters required data; e-mail, date of birth, signing up as committee member or user.
  3. Create user account.
  4. Send the registered user a confirmation email, redirecting to homepage.
  5. If the Guest registers as a committee member, they have to choose their area of expertise.
  6. Create documentation.
  7. Create UML.

Success Scenario:

  1. The user will choose a unique username and enter the password twice.
  2. The user will enter his email, date-of-birth, chooses wether he wants to sign up as a committee member and if yes choose his area of expertise and then press submit.
  3. The user will be notified with an email to confirm his registration
  4. After openning the email and confirming his registraion, the user will be redirected to his new homepage.
  5. The user will now have an account on the system.
  6. The user registered as a committee member will wait until Admin has approved/rejected their request.
  7. The user invited to be a committee member will not have to wait for Admin's approval.

Failure Scenario:

  1. If the User does not enter all the required fields, the registration process will not be completed and a message will inform him to enter the missing information.
  2. If the guest enters an already taken username, he will be informed to choose another username.
  3. If the guest enters a previously registered email, he will be informed that this email has already been registered, and given the option to either recover his password, login or signup with a different email..

S1.7: As a user I can share my actions on my assigned twitter account

Tasks:
Research
Integrate sharing on twitter with ideas
Adding share on twitter button in idea page
Tests
Documentation and UML

Success Scenario:
1.The user clicks on the "share" button on the idea he wants to share.
2. The user chooses the twitter icon.
3. The user is informed by a modal dialogue that his idea/comment has been shared successfully.
Another Senario:

  1. When the user votes for an idea a modal dialogue will appear asking him wether he wants to share his action.

Failure Scenario:

  1. If the user isn't already logged on twitter he will be redirected to facebook and asked to log on to facebook.

S2.9: As a Registered User/Guest, I should be able to filter ideas on certain tags.

tasks:

1- auto-complete tags.
2-filter tags
3-documentation and UML
4- writing tests

success :
1- Registered User/Guest presses filter link on the side bar.
2- A panel appears which contains the list of chosen tags . it is initially empty.
3. user starts writing a tag name then the drop down list appears with auto-complete option.
4-the chosen tag is displayed as a box in the panel, with a small close icon to remove the tag.
5-once tags are selected the stream is filtered according to the tags chosen.

failure :
1- if the system is down, a message should be displayed to the user
2-if no ideas are tagged a message should be shown.

S2.1 : As an Admin , I can invite a guest to become a committe member

Tasks :

1- write method to send invitation mail to guests . 2

2- write method to save invitation in the database . 1

3 - documentation . 1

4- story sequence diagram & artifact . 1

Success:

  1. The admin clicks invite committe member and chooses the invite a guest option
  2. The admin enters an e-mail to invite a person to become a committee member
    3.The admin is notified that the person has been successfully invited.
  3. The person recives an e-mail with the invitation.
  4. The link in the email redirects the user to the sign up page.

Failure :

  1. If the admin enters an e-mail that belongs to an already existing committee member, the admin is notified that the committee already exists.
  2. If the admin enters an email that isn't valid, he is notified to enter a valid email.
  3. If the admin enters an email of an already existing user, he will be notified that he is inviting an already existing user.
  4. Admin is notified that the tag name has been edited.

#1.2-c: As a Guest I can login by entering my username and password, and logout

Tasks:

  1. Add login button to the homepage.
  2. Add user dropdown with logout button
  3. Documentation and UML

Success Scenario:

  1. The user enters his user name and password and clicks login.
  2. The user is redirected to his home page.

Failure Scenarios:

  1. If the user enters an invalid username or password he is informed and asked to try again. He is linked to the 'forgot password' page.
  2. If user clicks on 'forgot password' he will be shown a password recovery form. He enters his email and is sent a password reset email.
  3. If the user is banned he will be notified that he is banned and cannot login at this moment.
  4. If the user's account is deactivated, he will be asked if he wants to reactivate his account, if yes he will be redirected to his home page and will become active again on the system, if no he will be redirected to the landing page.

S4.1 : As a committee or an idea submitter, I have the ability to monitor the performance of my ideas.

User Story : As an Idea Submitter / Committee, from the dashboard I can compare ideas from a certain tag with ideas in the same tag.

Success scenario ๐Ÿ‘

"1. Idea Submitter / Committee enters the dashboard. He clicks on one of the two tabs: "My Ideas" or "Approved Ideas". The "Approved Ideas" tab only appears to committee members.
2. The user can click on a button "Choose Ideas" to view a list of all his ideas to choose which five to display in the dashboard.
3. He clicks an idea from the five displayed ideas. The ideas are displayed in a visual way as lighted bulbs, with the light level representing today's performance.
4. Chosen Idea's tags are displayed in a list.
5. He clicks on one or more tags to choose which ideas to compare against.
6. A visual representation of the performance of the ideas from the chosen tags is displayed in a separate panel."

Failure Scenario ๐Ÿ‘Ž

  1. A Guest tries to perform the action, he is prompted with a modal dialog to log-in or sign-up.
  2. The committee member enters the dashboard, however there are neither ideas yet submitted by him nor in the tags he is assigned to.In this case the overall view would be there (e.g the buttons, the tag's filter) however in the part of displaying any results, There will be a statement saying that there are no ideas posted yet.And whenever he tries to choose a tag to display its results, a modal dialog appears stating that this tag is empty.

Tasks:

1 - implement the filtering module (4)
2 - integrate with the graph viewer to know the type of data to send her and based on this a module to do this will be implemented(2)
3 - Ajax(2)
4 - GUI(4)
5 - Tests(1)

Notes :

However I will stop before the part of displaying the graph, so you will find two issues with the same story, one will mainly deal with filtering and sending some data to the other part which is the representation part.

#IdeaStream

1- Creating method show in Idea controller to display ideas
2- Creating a view for stream of ideas
3- Documentation/UML of methods
4- Add a vote button on the ideas

Success Scenario :

  1. The Guest/Registered User/Admin is able to browse a stream of the ideas listed on the website.
  2. The Guest/Registered User/Admin would load more ideas by scrolling down.

Failure Scenario :

  1. If the Guest tries to comment/perform an action on a certain idea, they will be asked to login in order to be allowed to perform that action.

Unwanted files and incorrect merges in master

There are a lot of unwanted files on the master branch added as a result of using 'git add -A' or 'git add .'
There are also several wrong merges that broke master.

These files need to be removed, and the merges need to be undone.

S1.8: As a user I can share my actions on my assigned facebook account

Tasks:
Research
Integrate sharing on facebook with ideas
Adding share on facebook button in idea page
Test
Documentation and UML

Success Scenario:

1.The user clicks in the "share" button on the idea he wants to share.
2. The user chooses the facebook icon.
3. The user is informed by a modal dialogue that his idea/comment has been shared successfully.
Another Senario:

  1. When the user votes for an idea a modal dialogue will appear asking him wether he wants to share his action.

Failure Scenario:

  1. If the user hasn't logged in via facebook he will be redirected to facebook and asked to log on to facebook.

#4.10: As a guest I can view a stream of ideas

Tasks:
1- Creating method show in Idea controller to display ideas
2- Creating a view for stream of ideas
3- Documentation/UML of methods
4- Add a vote button on the ideas

Success Scenario :

  1. The Guest/Registered User/Admin is able to browse a stream of the ideas listed on the website.
  2. The Guest/Registered User/Admin would load more ideas by scrolling down.

Failure Scenario :

  1. If the Guest tries to comment/perform an action on a certain idea, they will be asked to login in order to be allowed to perform that action.

S1.6: As a Registered User, I can view my notifications

Tasks:

  1. Research
  2. Implement notification classes
  3. Notification UI
  4. Tests
  5. Documentation and UML

Success Demo:

  1. Registered User sees a notification icon with the number of unread notifications in the navigation bar.
  2. He presses the notification icon, and a panel drops down viewing the latest notifications.
  3. He selects a notification and is redirected to the corresponding action (comment or idea or other item which triggered the notification)
  4. A "See All" link is available that allows the Registered User to be redirected to the notifications page, which is a list of all notifications to date.

Failure Demo:

a. Registered User presses the notifications button while logged off.
b. A modal dialog appears allowing the user to log in
2)
Registered User presses the notifications button and he has no notifications instead of the notifications he gets a message telling him that he has no notifications.

S4.8: As a guest I can view a stream of ideas

Task:
Test
UML
UI

Success Scenario :

  1. The Guest/Registered User/Admin is able to browse a stream of the ideas listed on the website.

Failure Scenario :

  1. If the Guest tries to comment/perform an action on a certain idea, they will be asked to login in order to be allowed to perform that action.

S2.3: As an Admin I can create/edit a tag (Reopened)

Tasks :
1.add tag button (1)
2.view tags with edit option (1)
3.documentation of methods (0.5)
4.story sequence diagram & artifact (0.5)
5.User Interface
6.Tests, Sketches

Success:

  1. Admin chooses "Create new tag" from "tag management" in the sidebar and fills in its name.
    1. Admin clicks "create".
  2. Admin is notified a new tag has been created. Editting a tag: 1. Admin chooses a tag. 2. Admin clicks on "Edit tag".
  3. Admin enters new tag name and presses "enter".
  4. Admin is notified that the tag name has been edited.

Failure :

  1. Admin tries to create an already-existing tag, Admin will be notified that the tag already exists.
  2. Admin makes a typo, Admin clicks "Edit tag".
  3. Admin enters new name and clicks "enter".
  4. Admin is notified that the tag name has been edited.

S4.10: As an Idea Submitter / Committee, from the dashboard I can view a graph comparing ideas from a certain tag with ideas in the same tag.

Task:
1.search
2.create graph
3.GUI
4.Write test code
5. Draw UML
6.Create documentation
Success Demo:
1.user chooses tag and two buttons will appear one for the bubble chart and one for the column chart
2.user clicks on bubble chart a graph will appear having my idea with 20 top ideas in the chosen tag
3.user clicks on column chart a graph will appear having my idea with 20 top ideas in the chosen tag
Faliure Demo :
1.The committee member enters the dashboard, however there are neither ideas yet submitted by him nor in the tags he is assigned to.In this case the overall view would be there (e.g the buttons, the tag's filter) however in the part of displaying any results, There will be a statement saying that there are no ideas posted yet.And whenever he tries to choose a tag to display its results, a modal dialog appears stating that this tag is empty.

S3.4: As a Registered User, I can vote or cancel my vote.

Tasks

  1. Testing.
  2. GUI.
  3. Add/Edit.
  4. Documentation.
  5. UML.

Success Scenario

  1. Registered User votes on an idea by clicking on a "vote" button.
  2. A point is added to the idea.
  3. "Vote" button will be changed to "Unvote".
  4. If the Registered User cancels his vote by clicking the "Unvote" button a point is deducted from the idea and the button returns to "Vote".
  5. The idea is not archived.

Failure Scenario

  1. A Registered User tries to vote on an idea that has been deleted or archived:
    a) A modal dialog appears stating that the Registered User is trying to vote for an idea that does not exist.
  2. A Guest tries to vote:
    a) A sign in/up modal dialog appears.

S2.2: As an Admin I can invite an Existing user to become a Committee member

Tasks :
Invite member link in user profile page
Notification sent to admin, appearing in navbar
Notification sent to user, to approve/reject invitation
Modal dialog with the notificiation for choosing area of expertise, with filter and auto complete options
Sequence Diagrams and Docs
Testing
User Interface

Success Scenario :

  1. The admin opens the profile page of the user he wants to invite.
  2. The admin clicks on "Invite to become committee" button.
  3. The admin is notified that the user has been successfully invited.
  4. The user recieves a notification that he has been invited to become a committee member and he should "Click here"
  5. A modal dialogue appears where he chooses his area of expertise.(possible duplicate S1.1b now merged with 1.1-a)
  6. The user chooses his area of expertise and submits else if he does not want to choose them now he can close the dialog and click on the notfication later at anytime.

Failure Scenario :

1.The user to be invited is banned The invite button should not be available to the admin.

S1.2: As a Guest I can login with my Facebook account.

Tasks:
1- Research Facebook login using Rails
2- Login with Facebook method
3- Tests
4- UML and documentation

Success scenario:

  1. The user clicks on login via facebook.
  2. The user is asked to authorize the access.
  3. The user will be redirected to his homepage.

Failure scenario:

  1. If the user is not logged on facebook, he will be redirected to facebook and asked to login.
  2. If the access to facebook is not authorized, the user will be notified that he couldn't log in via facebook and will be redirected to the landing page.

S2.7: As an Admin I can approve or reject a Committee Member's registration.

Tasks :
Approve, reject option in user profile page which is removed after action is taken (Javascript)
Modal dialog for confirming action
seq diagram, docs
Testing, Sketches

Success Scenario :

  1. The admin will recieve a notification that a committee member has just signed up.
  2. The admin will either approve the request or reject it after viewing the profile page via a button.
  3. The admin will recieve a confirm message.
  4. If the request is accepted the committee member will recieve a confirmation mail that he has been accepted as committee member and will now have an active account on the system and a viewable profile.
  5. if the request is rejected the person will be notified via email that his request has been rejected.

Failure Scenario :

1.If the user that the admin opens is a banned user
2.The button for inviting as a committee member should not be available, So the admin should unban the user first.

#1.4: As a Registered user I can deactivate and reactivate my own account.

Tasks :

  1. Add button "Deactivate" in homepage.
  2. method deactivate() in UsersController.
  3. method activate() in UsersController.
  4. Documentation and UML.

Success Demo:

Deactivation:

  1. The user will click on the deactivate button.
  2. Amodal dialog will appear asking the user to confirm deactivation by entering his password and clicking confirm.
    3.The user will be informed that his account has been deactivated successfully.
    4.The user will be redirected to the landing page.
  3. The user's profile, all of his comments, votes and shared ideas will be no longer available for other users to view.
    Reactivation:
    1.The user will enter his username and password in the login part in the landing page.
    2.The user clicks login
  4. The user will be redirected to his homepage and notified that his account has been reactivated successfully.
  5. The user's profile, all of his comments, votes and shared ideas will become available for other users to view.

Failure Demo:

Deactivation:
1.The user enters a wrong password in the confirmation page
2. The user will be notified that they have entered a wrong password and will be asked to enter their correct password.
Reactivation:
1.The user enters an invalid username or password.
2.The user in informed that he has entered invalid data
3. The user will be asked whether he has forgot his password, or to try logging in again.

#2.5: As a Committee member I can view ideas in my area of expertise.

Tasks:
1- View ideas of my area of expertise button (1)
2- Filter ideas by Committee member tags (2)
3- Link to idea page (1)
4- Documentation of methods (0.5)
5- Story sequence diagram & class diagram artifact (0.5)

Scenarios.

Success:
1- Committee member clicks on view ideas of my expertise button.
2- The committee member will be redirected to a page of idea stream having ideas titles with tags similar to his own tags and not approved yet.
3- The committee member clicks on the title of an idea.
4- The committee member will be redirected to the idea page

Failure:
1- There is no ideas of the committee member expertise that are not approved yet, the committee member will be redirected to a page with header "No ideas to approve".

S1.5: System automatically detects spam

Tasks

  1. Research: spam detection in rails (gems?)
  2. Integrate spam detection with comments
  3. Integrate spam detection with idea submission
  4. Tests
  5. Documentation and UML

S3.3: As an Admin/Idea submitter I should be able to archive/unarchive an idea

Tasks:
Writing test files and testing code,
GUI,
Documentation,
UML,
Backend implementation for idea archiving.

Success Demo:
Archive:-

  1. Admin/Idea submitter will click archive button on idea page.
  2. A Modal dialog will appear stating that the idea has been successfully archived and that the idea would be reset with no votes or comments if the User chooses to unarchive the idea at any point.
    3..Archive button will change to unarchive
  3. Idea will no longer be usable i.e. no user will be able to comment, vote or rate the idea, it will only be viewable when searched for.
  4. When the admin archives an idea, a notification will be sent to the owner of the idea, that the idea has been archived.
  5. All Users related to the idea should be notified accordingly.
    Unarchive:-
  6. Idea submitter will click unarchive button on his idea page.
  7. A Modal dialog will appear confirming that the idea has been successfully unarchived.
  8. The button in the idea page will change to archive.
  9. The idea will become viewable in the stream, and users will be able to vote, comment on and rate the idea.

Failure Demo:

  1. if he is not an admin ,he wouldn't be able to archiive or unarchive any idea

#IdeaStream

1- Creating method show in Idea controller to display ideas
2- Creating a view for stream of ideas
3- Documentation/UML of methods
4- Add a vote button on the ideas

Success Scenario :

  1. The Guest/Registered User/Admin is able to browse a stream of the ideas listed on the website.
  2. The Guest/Registered User/Admin would load more ideas by scrolling down.

Failure Scenario :

  1. If the Guest tries to comment/perform an action on a certain idea, they will be asked to login in order to be allowed to perform that action.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.