Link Search Menu Expand Document

Legacy code project under current active devlopment

All are implemented as web apps using the Spring/React stack with Google OAuth login.

Possible future applications

Replacement for ucsb-cs-github-linker

This project involves constructing a Minimum Viable Product (MVP) for a replacement to the ucsb-cs-github-linker app (currently in Ruby on Rails) in Spring/React (the CMPSC 156 tech stack).

Currently, the ucsb-cs-github-linker is used in a variety of courses at UCSB. However, the code base is difficult to maintain, because few students know Ruby on Rails. It is very hard to onboard new students to this tech stack (it can take two weeks just to on board someone to the point of being able to run the application in dev mode).

If we could build an MVP using the Spring Boot / React stack, then the CMPSC 156 class could maintain the app going forward. This would provide a valuable example of a real app with real users for the course.

The main features are (this is a brutally summarized outline of an MVP):

  • Login with Github OAuth instead of Google OAuth.
  • Admins can assign roles: default role is student, but also Instructor, TA/LA, Admin.
  • CRUD operations for courses
  • CSV upload and interactive CRUD for roster students associated with courses
  • Workflow to “join a course” and generate invitation to course organization.

There are many features beyond that list that could be added next, some of which are in the current Ruby on Rails app:

For instructors:

  • Automatically setting up teams based on CSV file
  • Automatically setting up repos for assignments on individual or team level
  • Gathering information/statistics about these repos

For researchers:

  • Ability to subscribe to and process GitHub event triggers
  • Ability to connect GitHub event triggers to Slack events
  • Abiity to gather commit, PR, timeline event information