Magister is a tool for better managing github classrooms.
This project is currently a work in progress, and primarily for personal use.
While Github Classroom Assistant, and the Github Org Explorer exist to do some of the features included in this project, I plan to implement features to aid my specific flow in grading and managing assignments in my classroom.
You can find installation files for Windows, Mac, and Linux under releases.
If you would like to use the current version on the main branch, you can also pull the repository and build it yourself.
npm i
npm run build
npm run electron-pack
This project is an Electron app, built using the Svelte framework. I have included some other tools that I will be using during the development process as well.
The core pieces of the project are the src/ directory, feel free to explore the code there.
The main file housing most of the Electron code and logic for client side actions is src/main.js.
The UI, and svelte components are primarily in the src/components/ directory. The starting points for the applications front end, however, are src/App.svelte and src/index.js.
To help in developing the UI, I have also included storybook. This allows me to better test individual UI components and see how they change as I'm actively developing them.
The documentation, and individual components can be see on github pages.
As I build the repository I will be using jest for unit testing, and making sure nothing breaks as I continue to build the project.
you can run the tests locally:
npm run test
Currently snapshots are also generated of components that need approved manually every time a change is made, this is just to ensure all changes are intentional. To update the snapshots after changes are made you can run:
npm run test - --u
- Mass downloading of assignments
- Mass deletion of assignments
- Searching and filtering assignments by student, or assignment name
While I am open to others contributing, I cannot promise I will accept it; You are, however, more than welcome to fork this repo and work on your own branch.
I would be more than open to feature requests or bug reports for as long as I am actively maintaining this project.
DryCreations (Hayden Mankin)