Skip to content

berkeley-cdss/flextensions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


MaintainabilityCode CoverageRSpec TestsCucumber TestsAccessibility TestsRuboCop


Maintainability Test Coverage All Specs Accessibility Tests RuboCop


Flextensions is a web application built for UC Berkeley students and course staff to manage assignment extensions across all their bCourses (Canvas) courses.

To use Flextensions, visit https://flextensions.berkeley.edu.


Made for UC Berkeley By UC Berkeley

Flextensions is a project developed by the UC Berkeley Computer Science 169L course (Software Engineering). The goal of Flextensions is to provide a user-friendly interface for managing assignment extensions, making it easier for both students and instructors to keep track of deadlines and extensions. The project is open-source and available on GitHub, allowing for contributions and improvements from the community. The Flextensions team consists of students from the course, who have worked together to design, develop, and deploy the application.

Flextensions is designed specifically for the UC Berkeley academic environment. It integrates directly with bCourses and provides a seamless way for instructors and students to manage and track assignment extensions.


Documentation

Our documentation provides detailed instructions on how to set up, use, and contribute to Flextensions. For the full documentation, visit the public Flextensions Docs. (Or read /docs/ in this repository.)

Below are the key resources available:

  • Developer Resources: Information on environment variables, database setup, and deployment.
  • Instructor Guide: A comprehensive guide for instructors on how to use Flextensions.
  • Student Guide: A comprehensive guide for students on how to use Flextensions.
  • API Documentation: Details on the APIs used for integration with bCourses (Canvas).

Features

For Course Staff:

  • View and manage extension requests for all assignments in your course
  • Grant extensions to students with a few clicks
  • Monitor extension usage across your course
  • Automate approving extension requests and sending email notifications

For Students:

  • View all your granted extensions in one place
  • See how long your extension lasts and when the new due date is
  • Stay informed and organized without checking multiple systems

How It Works

Flextensions connects directly with bCourses (Canvas) and imports your assignments. The interface is intuitive and role-based—course staff can grant and manage, while students can view.


Configuration

Please see .env.example for the environment variables that need to be set up for Flextensions to run. You can copy this file to .env and fill in the required values.

Canvas Scoped Keys

This deserves brief special mention. You must keep the Canvas API configuration (in Canvas) in sync with the list of scopes defined in the CanvasFacade. If you need to add a new scope, you will need to update the Canvas API configuration in the Canvas Developer Keys section and will need to coordinate with the bCourses team to ensure the new scope is approved and turned on before deploying it to production.

About

Easy assignment extension management and API for UC Berkeley students

Topics

Resources

License

Stars

Watchers

Forks

Contributors 18