Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hw1 reqs-pull request #28

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions HW/HW2 Docker/flask/Agile.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Theme:Get GiggleGit demo into a stable enough alpha to start onboarding some adventurous clients.
Epic: Onboarding experience

1.
User Story 1:As a vanilla git power-user that has never seen GiggleGit before, I want to figure out how to use GiggleGit which is perform basic version control tasks, so I can get my work done with minimal learning curve.
Task: create a simple "getting started" guide and adding tooltip for users
Ticket 1: Create GiggleGit command documentation.
-Explain basic command: how to commit, push, pull, and merge with GiggleGit. Add a fun section on managing merges with memes.
Ticket 2: Add tooltips for core command actions.
-Add tooltip pop-up to the interface and each of them explain technical functionality behind actions like "merge with memes".

User Story 2:As a team lead onboarding an experienced GiggleGit user, I want to be able to track my team's activities on GiggleGit such as what commaands/operation that they did so i can stay on top of the progress and do better collaborations.
Task:Implement real-time tracking and role-based access control.
Ticket 1:real time activity track
-Track core operations (include commit, merge, conflict resolution) with metadata (includes users, action types).
Ticket 2:role-based permissions for merges.
-add functionality for role-based access control for merge operation, to restrict conflict resolution and metadata editing to authorized users.

2.
User Story 3:As a developer, I want notifications for completed merges, so I can quickly verify the status of my changes without constantly checking the dashboard.
Task: Implement real-time notifications for merge events.
Ticket 1: Add notifications
-Create a system to send notifications when a merge completes successfully or fails.
Ticket 2: Adjust notification setting
-Allow users to change notification preferences such as disable notification.

3. "As a user I want to be able to authenticate on a new machine "
This is not a user story because only describes an action the user wants to perform. However, without explaining why the feature is important which the value of this feature.
17 changes: 17 additions & 0 deletions HW/HW2 Docker/flask/Formal Requirement.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
SnickerSync
Formal requirement:

1.
Goal:Make SnikcerSync a entertaining and efficient tool to handle merge conflicts
NonGoal:Provide compatibility with other version control systems outside of GiggleGit.

2 & 3.
Non-Functional Requirement 1:Support for User Testing
Functional requirements:
-Users should be randomly assigned to test or control groups for experiments.
-Keep a log of key actions like merge resolutions so analyze results and make improvements will be easier.

Non-Functional Requirement 2: Access Control
Functional requirements:
-Set up secure OAuth login so only authenticated users can access
-Allow Admins to assign permissions to limit who can view or edit merge conflict data.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 17 additions & 2 deletions HW/HW2 Docker/flask/app.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from flask import Flask, make_response
from flask import Flask, make_response, request

app = Flask(__name__)

Expand All @@ -12,8 +12,23 @@ def hello():
)
return response


@app.route('/repeat')
def repeat_input():
user_input = request.args.get('input', 'No input provided')
response = make_response(
{
'body': user_input,
'status': 200
}
)
return response


if __name__ == '__main__':
# By default flask is only accessible from localhost.
# Set this to '0.0.0.0' to make it accessible from any IP address
# on your network (not recommended for production use)
app.run(host='0.0.0.0', debug=True)
app.run(host='0.0.0.0',port=5000, debug=True)

#
Binary file added HW/HW2 Docker/flask/curl container.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added HW/HW2 Docker/flask/run container.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docker-setup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.