-
Notifications
You must be signed in to change notification settings - Fork 11
Project Requirements
afcelimli edited this page Oct 15, 2018
·
37 revisions
- User: A person who opens and uses the application or website. Can be registered or unregistered.
- Registered User: A registered user is a user of a website or mobile program who has previously signed up.
- Guest User: A person who visits the application or website without signing in.
- Freelancer: A user who takes projects in order to make money.
- Client: A user who upload projects to system in order to be done by freelancers.
- Bid: Offering a particular amount of money for a project.
- Rating: An action which is done by clients and freelancers in order to evaluate both sides of the project.
- Comment: Comprehensive evaluation that is done by clients and freelancers in order to give an idea to other users in the system about the client and freelancer.
- Profile Page: A page that contains various information about a freelancer.
- Tag: User-defined string which can be used to identify project or search for semantically related projects.
- Contract: A final agreement between the client and the freelancer after the client chooses a bid for the project. It demonstrates that the freelancer is still interested in the project.
- Default Profile Segments: Profile parts a freelancer can change. These parts are name, image and introduction letter.
- 1.1.1.1 Users shall be able to sign up with their email, name and password.
- 1.1.1.2 Registered users shall be able to login with their email and password.
-
1.1.2.1 Freelancers shall be able to edit their profile page.
- 1.1.2.1.1 Freelancers shall be able to add and remove default profile segments.
- 1.1.2.1.2 Freelancers shall be able to choose the interest areas and tags they want to be notified of.
- 1.1.2.2 Freelancers shall be able to add a project to their favorites.
- 1.1.2.3 Freelancers shall be able to rate a project that they have completed.
- 1.1.2.4 Freelancers shall be able to pin and remove previous contracts to their account.
- 1.1.2.5 Freelancers shall be able to filter search results down to their certain categories, tags, and budget range.
- 1.1.2.6 Freelancers shall be able to bid for a project.
- 1.1.2.7 Freelancers shall be able to inform clients about project completion by using messaging service.
- 1.1.2.8 Freelancers shall be able to upload their works to system.
-
1.1.3.1 Clients shall be able to create project postings.
- 1.1.3.1.1 Clients shall be able to set a deadline for their project postings.
-
1.1.3.1.2 Clients shall be able to add tags to their project postings.
- 1.1.3.1.2.1 Clients shall be able to choose tags from a searchable list of preexisting tags and create new tags(not used before) for their project postings.
- 1.1.3.1.3 Clients shall be able to choose a budget range for their project postings.
- 1.1.3.1.4 Clients shall be able to add project details to their postings using a rich text editor.
- 1.1.3.2 Clients shall be able to propose a project to a certain freelancer.
- 1.1.3.3 Clients shall be able to decide on any bid placed on their project.
- 1.1.3.4 Clients shall be able to delete a project.
- 1.1.3.5 Clients shall be able to contract any freelancer who placed a bid on the project.
- 1.1.3.6 Clients shall be able to cancel a contract if freelancer misses the deadline.
-
1.1.4.1 Users shall be able to comment and post feedback on the project.
- 1.1.4.1.1 Clients shall be able to post feedback for working process, final product and also a text input for detailed elaboration.
- 1.1.4.1.2 Freelancers shall be able to post feedback for payment, communication, project specifications/description.
- 1.1.4.2 Users shall be able to rate and comment about users they worked with.
- 1.1.5.1 Users shall be able to view public profiles of other freelancers and clients.
- 1.1.5.2 Users shall be able to pin feedbacks to top of their profile.
- 1.1.5.3 Users shall be able to enable notifications through e-mail to get notified of messages and actions related to them.
- 1.1.5.4 Users shall be provided a way of account recovery option in case they lose access to their account.
- 1.1.6.1 Users shall be able to annotate the text in the project description.
- 1.1.6.2 Users shall be able to annotate the images in the project description.
- 1.1.6.3 Owner user of an annotation shall be able to edit or delete his/her annotation.
- 1.2.1.1 Given bids to a project with their amounts and given dates shall not be visible to any user except the client.
- 1.2.1.2 The system shall notify the users upon a change in the post details.
- 1.2.1.3 In case of a change to post details, the post shall be suspended temporarily and be put in moderation queue to confirm the change.
- 1.2.2.1 Freelancers shall be given a recommendation of project postings that are related to their previous jobs, fields, interests and tags they prefer.
- 1.2.2.2 Clients shall be suggested of top and rising freelancers that may be interested in their posting.
- 1.2.2.3 During project posting creation, a list of successfully completed projects of similar topics shall be presented to the user to help them better specify the scope of the project.
- 1.2.3.1 The advance payment that the client promises shall be withdrawn from their account and be held until both parties agree that the conditions to said payment is met.
- 1.2.3.2 Client shall not be able to contract with a freelancer if he/she doesn't have enough cash in his/her account.
- 1.1.4.1 The system shall support both basic text and semantic search using the keywords user has typed in.
- 1.1.4.2 The system shall provide filtering mechanism by considering the title and description of the contents.
- 1.2.5.1 The system shall suggest user to create an account only when they want to commit to creating a project posting.
- 2.1.1 The passwords stored in the database of the system shall be encrypted.
- 2.2.1 The service shall be implemented with scalability in mind. It shall be able to gracefully handle bursts of user activity using horizontal scaling.
- 2.3.1 The service shall respond to any operation within two seconds.
- 2.4.1 All string templates used throughout the service shall be translatable.
- 2.5.1 The service shall comply with Web Content Accessibility Guidelines proposed by W3C.
- 2.6.1 The system shall comply with W3C Open Annotation Standards.
- 2.7.1 The Android application shall support Android 5.0 or upper versions (70% of android devices can be included).
- 2.7.2 The system shall have a web application which supports the latest version of web browsers.
- Requirements
- Personas, User Stories and Acceptance Criteria
- User Scenarios and Mockups
- Class Diagrams
- Sequence Diagrams
- Test Cases
- Annotation Scenarios
- Annotation Research
- API Endpoints
- Manual
- Coding Work
- Milestone Report 1
- Milestone Report 2
- Final Milestone Report