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

Additional projects after self-assessment #81

Open
stevebrownlee opened this issue Aug 5, 2024 · 3 comments
Open

Additional projects after self-assessment #81

stevebrownlee opened this issue Aug 5, 2024 · 3 comments
Assignees

Comments

@stevebrownlee
Copy link
Owner

stevebrownlee commented Aug 5, 2024

  1. Student clicks Assessment Complete
  2. Instructor reviews assessment
  3. Instructor marks assesment complete on LP
  4. Student gets Slack message with 1-3 optional projects to work on before group project starts
  5. Student clicks on a button in the message
  6. LP creates repo, assigns student to repo
  7. Student is redirected to repo

Models

Add a ProjectInfo table with foreign key to Project

  • description
  • template_url
  • project

In Project model add is_advanced_project boolean which defaults to False

View logic

  1. In the assess method for the student_view, find the code if latest_assessment.status.status == 'Reviewed and Complete':
  2. In that if block, query all ProjectInfo where project__book={current book} and is_advanced_project=True
  3. Construct Slack message telling student he/she can work on these advanced projects until group project starts. See Slack Block Kit docs for more info.
    Title - Description
    {button to choose}
    
  4. When students clicks on one of the buttons, it will open the following URL https://learning.nss.team/pickproject/{project id}
  5. That component would extract project ID param and make request to API to create repo for student and assign them to repo as collaborator. Put fun loading animation in browser until this completes.
  6. Once complete, use <Redirect/> from RRD to send directly to Github repo
  7. Send Slack message to instructors informing them that student has start X project.
@stevebrownlee
Copy link
Owner Author

Creating project

Update the project creation logic to check if is_advanced_project is not None. If not, validate that description and template_url were provided in the request body. Respond with 400 if not.

If it all validates, create project and then create related project info.

@DaveBerzack-NSS
Copy link

Today we added the data to the model and updated the admin form to select advanced type, and provide description and template_url in that case.

Still to do:

send additional slack message on approve assessment
-- add buttons to message (each will link to LMS placeholder page)

placeholder page to update student status, create repo, then redirect to that repo

@stevebrownlee
Copy link
Owner Author

TODO: Update radio buttons as Radix controls

https://radix-website-a4l61k3zl-workos.vercel.app/themes/docs/components/radio-group

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants