Requirements - mirayiyidogan/swe_573 GitHub Wiki

Elicitation Questions

  1. What will be the main purpose of this Web Application?
  2. Is there any similiar project currently?
  3. What will be the main differences amoung similiar applications?
  4. On which platforms will this project be used?
  5. How app should save the information?
  6. How long will the content be kept on the site?
  7. Will the content have an expiration date?
  8. What to do about inaccessible content?
  9. What information will be given about the content?
  10. How will we display the contents?
  11. Will we be able to filter the recorded content?
  12. How will we label the contents?
  13. Will the user be able to create their own tags?
  14. If the url is private or needs a token to open, what should we do?
  15. Will we create another library/collection from the saved content?
  16. Will the recorded contents be erasable?
  17. Will we be able to edit the recorded content?
  18. How do we catch the same content?
  19. Will we delete the same/similar content automatically, in consultation with the user?
  20. May we ask to take personal notes on their content?
  21. Will we have any other purpose other than viewing the recorded content?
  22. Will we support any direct integration with 3rd party software?

User Stories

  • As a user, I want to add a content to my personal area so that I can be able to reach my contents which I have saved intentinally.
  • As a user, I want to register to the system so that I can manage my contents.
  • As a user, I want to tag my contents so that I can easily find the contents.
  • As a user, I want to delete the saved contents so that I can get rid of unwanted contents.
  • As a user, I want to filter my content so that I can find a specific content.
  • As a user, I want to search a content so that I can find the content that I wanted.
  • As a user, I want to create a collection so that I can categorize the contents as I wanted.
  • As a user, I want to share my content collection publicy so that I can share my personal interests with others.
  • As a user, I want to bring my contents to one place so that I can easily find what I wanted.
  • As a user, I want to see only unique contents so that I do not lost amoung the contents.
  • As a user, I want to see recent contents added at the top of the page so that I can go back to the past.

Requirements

User should be able login with its username or mail and password.

User should be able to register to system with its name, surname, username and password.

User should be able to reset its password.

User should be able to change its user informations.

User should be able to change its profile picture.

User should be able to add profile picture.

User should be able to change its registered mail address.

User should be able to save the contents.

User should be able to add tags when saving a content.

User should be able to add note while saving a content.

User should be able to name a content.

User should be able to see the saved contents.

User should be able to delete saved contents.

User should be able the sort the contents.

User should be able to filter the contents with tags, date, keyword, content's platform.

User should be able to see public content without loged in.

User should be able to save contents with their URLs.

User should be able to comment the contents.

User should be able to edit saved contents.

User should be able to search contents.

User should be able to delete contents.

User should be able to delete comments.

User should be to edit their comments.

User should be able to publicly share its contents.

User should be able to save its contents privately.

User should be able to tag its content.

User sould be able to remove the tag from its content.

The system should have a web application.

The system should keep passwords, encrypted in the database.

The system should be written with Python and Django Framework.

The system should be used PostgreSQL.

The system should be dockerize.

Open Questions:

  1. How should the users interact with the posts?
  2. Is there an admin role? What admin can do and can't?
  3. How will the users interact with each other?
  4. If the link is gone, are we going to handle it? How?
  5. How we are going to use Wikidata in this project?