In this PR, I added code to enable organic to function as a Github App. By doing so, instructors now can link our github app to their course, which in current stage, can invite their students to the course organization automatically
Pre-req
There's no hard pre-req for this branch, but merging #68 first will make the testing process of this branch much easier.
Feature
Backend now is integrated with github app, you can interact with it using:
GitHubUserApi bean is used to authenticate as the user is logged in.
GitHubApp bean is used to authenticate as a github app.
GitHubToken bean exposes the Oauth token of the current user, you can use it to call github apis manually.
From now on, this system works with Github App instead of Oauth app, and I have provided a documentation on setting in up in the docs/oauth.mdYou MUST have a private key configured to make it work!
One new page is added, and it looks like this:
One static page is added, and it looks like this:
You can find it here in the storybook, but it's not quite working since it depends on back end data.
Now this checks roster, but students can't be populated for testing since not a single endpoint for doing that is ready. Working on that. Please see PR #68, which addresses this problem. It is recommended to merge #68 before this one if time permits.
Additional changes
In addition to the changes mentioned in #23, this PR re-factored the prompt for instructors to link the github org with their courses. Also, I deprecated the package com.tianleyu.github and copied everything inside of it over to this project under edu.ucsb.cs156.github
In this PR, I added code to enable organic to function as a Github App. By doing so, instructors now can link our github app to their course, which in current stage, can invite their students to the course organization automatically
Pre-req
There's no hard pre-req for this branch, but merging #68 first will make the testing process of this branch much easier.
Feature
Backend now is integrated with github app, you can interact with it using:
GitHubUserApi
bean is used to authenticate as the user is logged in.GitHubApp
bean is used to authenticate as a github app.GitHubToken
bean exposes the Oauth token of the current user, you can use it to call github apis manually.From now on, this system works with Github App instead of Oauth app, and I have provided a documentation on setting in up in the docs/oauth.md You MUST have a private key configured to make it work!
One new page is added, and it looks like this:
One static page is added, and it looks like this:
You can find it here in the storybook, but it's not quite working since it depends on back end data.
Deployment
I have a staged build for you to test it. You can find it here: https://organic.dokku.tianleyu.com/
Dokku dev deployment available here: https://organic-yuxiaolejs-dev.dokku-11.cs.ucsb.edu
Story book is now available here, but please note that it does not work since it tries to communicate with the backend (which is not there in storybook) https://ucsb-cs156-s24.github.io/proj-organic-s24-5pm-3/prs/46/storybook/?path=/story/pages-courses-coursejoinpage--default
Limitations
Now this checks roster, but students can't be populated for testing since not a single endpoint for doing that is ready. Working on that. Please see PR #68, which addresses this problem. It is recommended to merge #68 before this one if time permits.
Additional changes
In addition to the changes mentioned in #23, this PR re-factored the prompt for instructors to link the github org with their courses. Also, I deprecated the package
com.tianleyu.github
and copied everything inside of it over to this project underedu.ucsb.cs156.github
Closes #15