The team project has three parts -- proposal, implementation, and presentation. Each of the sections is described below. Pay attention to the due dates and deliverables for each section.
Wednesday, November 6, 2024 at 11:59 PM
-
Define at least three distinct features you want to implement to extend the fake stack overflow app. In the past, students have added the following features. You can use these features for ideas but are not limited to them. Feel free to use your imagination to develop the proposed feature set.
- User authentication, tracking, and logging. *
- Creating and managing user profiles. *
- Post moderation. *
- Automatic tagging of posts.
- Commenting and voting on posts.
- Improve the user interface using Material UI.
- Rating posts and accepting posts. *
- A system to help users earn badges and reputation points.
- Allowing users with similar interests and values to create communities.
-
For each feature, define the requirements as user stories. At the very least each feature should have a user story. There is no limit on the number of user stories.
-
Each user story must be defined as an issue in GitHub and have the following format similar to the assignment on reddit user stories:
Feature: feature name Context: The socio-historical context for the proposed feature Description: As a `user` I want to `action` so that I can `goal` Scenarios: Acceptance criteria defined as `Given When Then` scenarios.The
goalof the feature description must accurately reflect the values you want to embed into the design of your application.The acceptance criteria must describe both valid cases and error cases for full credit.
The user stories should represent the minimal viable product (MVP). An MVP is a basic version of a product that can be released for feedback. You can go beyond the defined user stories in the final project. However, you will be graded based on the user stories you define in the proposal. Minor changes to user stories will be allowed in the final submission.
- A list of issues in this repository's issues tab.
- The link to this repository in the Canvas assignment for project proposal.
- You will get full credit if your proposed features are approved.
- You will get no credit if your proposal is rejected.
- Reasons for proposal rejection:
- Failure to define three distinct requirements.
- Failure to record requirements as GitHub issues.
- Failure to comply with the given format.
- The stories do not accurately reflect the values or goals.
- The stories do not mention the stakeholders.
You can use the following resources to inform the design and specification of the proposed features.
Bias
-
Gender differences in participation and reward on Stack Overflow
-
The Impact of Surface Features on Choice of (in) Secure Answers by Stackoverflow Readers
Trust
- Understanding stack overflow code quality: A recommendation of caution
- Stack overflow considered harmful? the impact of copy-paste on android application security
- An Empirical Study of Obsolete Answers on Stack Overflow
Socio-historical Contexts
- Understanding and evaluating the behavior of technical users. A study of developer interaction at StackOverflow
- Is Stack Overflow Obsolete? An Empirical Study of the Characteristics of ChatGPT Answers to Stack Overflow Questions
- Impact of individualism and collectivism cultural profiles on the behaviour of software developers: A study of stack overflow
- Thank you for being nice: Investigating Perspectives Towards Social Feedback on Stack Overflow
Content Moderation
Hate Speech
Read the project implementation details here.
Sunday, December 8, 2024 at 11:59 PM
See grading section in the project implementation description document (link above). Additonally you must submit the following:
- This repository's link in the Canvas assignment for final project.
- A README-instructions.md file with the following:
- Instructions to test the deployed application on Render
- Instructions to run the jest and cypress test cases.
- Instructions to generate the coverage report for jest tests.
- Instructions to generate the CodeQL report for your application's server.
- Instructions to set environment variables that one may need to run any scripts or tests.
- Submit the peer-evaluation survey.
- Any additional information (if any) about your implemention that you would like to inform the grader should be documented in README-misc.md.
Read the the expectations of the final presentation here. In the same document you will find a link to schedule your final presentation. You must select a time slot between Dec 9 - 13. The presentation will be online. Carefully read the instructions before scheduling the presentation.
- Presentation slides in the Canvas assignment for the final project presentation.