GiTA is a desktop application that is aimed to assist students with any git related coursework. Additionally, GiTA aims to help teaching assistants with viewing the relevant details of the git repositories submitted by students to better assess a fair grade.
Git is one of the few technologies learned in the undergraduate stream that remains to be a point of hesitation by students. The goal of this project is to help students feel more comfortable using Git and have a tool in their arsenal to tackle any related challenges.
After taking and teaching courses that use Git in one way or another, we have noticed that the biggest lack of feature was a visualizer for the repository. Although this feature exists for git repositories hosted by corporations, we do not have such a tool for our school repositories.
The of this project aim is to develop features that we found the most useful while learning git. Alongside, we want to help students better understand their code base in a simple manner.
GiTA consists of several useful features for both students and TAs. However, the core features of GiTA are…
- Welcome Screen: Appears the first time you launch GiTA. The main function of this screen is to ask the user to select a local repository for viewing (using a file explorer). The user can navigate back to this page by “closing” the current view of the repository.
- Branch/History View: Allows the user to see two branches’ history trees (local or remote) side-by-side, providing relevant information to help the user compare the branches, visualize the result of merging or pushing, and to view details of individual commits.
- Contribution View: Allows users to see how much work (lines written) was contributed by all members of the project. Context Specific Feedback: Provide feedback on quality of commit messages, bad merge practices, and other common issues. Repository Evaluation: Provide an interface for allowing TA’s to mark repositories and the work in them. This information can be stored in git notes, preventing the requirement for some special remote back end (all it needs is the git remote for syncing).
- Cross-Platform Support: Works on Linux, macOS, and Windows. Interactive Terminal: Users can use this tool to assist in commands and be given specific from the nature of their commands inputted
- Clone the repository.
$ git clone https://github.com/SwapnilShahGit/GiTA.git
- Install the Node module dependencies.
$ cd GiTA
$ npm install
- Starting the application.
$ npm start
$ npm install electron-packager
$ electron-packager . --platform all
Further information can be found here: https://www.npmjs.com/package/electron-packager
If you have a question, find a bug, need a feature, or want to contribute, please email: [email protected]
GiTA's development started at and has been supported by the University of Toronto Mississauga. Below is a list of the contributors so far.
- Darren Hobin: since January 2018
- Rajdeep Nanua: since January 2018
- Swapnil Shah: since January 2018
Supervisor: Larry Yueli Zhang