Background • Description • Features • Contribute • Known issues • Links • License
Click to read the background behind this project
E-education is a field aiming to support teaching and learning using digital tools. It is more than ever in tune with the time and is becoming an important learning tool. In this context, Jean-Baptiste Raclet and Franck Sylvestre, teacher-researchers at IRIT, are working together on a programming learning protocol. Based on test-driven development, peer reviewing and iterative approach (testing, development, peer reviewing, testing, development, ...), the protocol uses digital tools such as Elaastic and Git4School. To understand the need behind Git4School, it is necessary to detail the "development" part of the protocol. In a practice session, a question sheet is given to the students. Then, they develop the features that validate the tests. At the end of each question, the student has to commit his code to his Github repository, with a message identifying the question. After a certain amount of sessions, the teacher will organize a peer review, and then later send the correction to the students. It is therefore important that the teacher is able to follow the progress of the group in order to make reviews and corrections neither too early nor too late. It is to avoid having to visit each repository to get an idea of the group's progression that this project was created.You can find detailed documentation to get started here
Git4School is an application that helps teachers follow the progress of their students during practical work sessions using Github. From the monitoring over time of student commits to the completion rate of each question by the TP group, as well as the distribution of the types of commits of each student (before / after a correction...), the teacher has access to several tools to best support his students during the practical work sessions.
- Display commits of multiple repositories on a single view
- Filter commits by TP group or by resolved question
- Add markers (session, review, correction) and see when associated questions have been resolved in relation to these markers using colored indicators
- Have an overview of the students' work habits
- Go back in time to a specific date
- See the completion ratio in the group for each question.
- Go back in time to a specific date
- Easily view and add user accessible repositories
- Export of statistics on commits
If you want to contribute to the project, please feel free to send us a message here
- If you want to access an organization's repositories but forgot to grant rights the first time you log in, you will not be able to use these repositories in the application. We are investigating the possibility to handle this in the application, but for the time being you need to log out of Git4School, revoke the OAuth key manually in your Github account, and then, when you log back in to Git4School, you can grant rights for the organization of your choice
If you need help, here is the Github documentation
- Commits are fetched only from the default branch. By default, since October 2020, the default branch is the main branch, master before that
- In order to avoid storing any data, the assignments are saved on a local database, located in the user's browser. Therefore, resetting the browser or any other similar operation will result in a loss of your assignments
To avoid losing your data, export it before resetting your browser
- User documentation : this is where you need to go to if you want to get started with the application
- Technical documentation : if you want to add your contribution to the project, it is strongly recommended to go through this link. This is where you will see how it all works.
- Github API documentation : here is useful documentation for making calls to the Github API
- Chart.js & ng2-charts documentation : documentation for the library we use for graphs
- Firebase documentation : Firebase documentation, used for authentication and deployment
Git4School is made available under the Apache 2.0 License.