ucsb-cs156-s24 / proj-organic-s24-5pm-3

https://ucsb-cs156-s24.github.io/proj-organic-s24-5pm-3/
0 stars 1 forks source link

[reopen][feat] GitHub App integration #23 #46

Closed yuxiaolejs closed 1 month ago

yuxiaolejs commented 1 month ago

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:

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:

image

One static page is added, and it looks like this:

image

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 under edu.ucsb.cs156.github

Closes #15

yuxiaolejs commented 1 month ago

that's a lot of changed files...would it be better/possible to split this into smaller PRs?

Not really... They are dependent on each other