Gitbull
GitBull is an application developed at TU Delft as part of the 2023/2024 edition of the Software Project course. It provides management and monitoring of GitLab repositories for educational use. Course staff can easily access overviews of their course editions, make modifications to them, import groups of students, set up their repositories and monitor their performance through Git analysis tools.
Development Team - AREAS
Picture | Name | |
---|---|---|
![]() |
Albert Alexandru Sandu | A.A.Sandu@student.tudelft.nl |
![]() |
Radu Stefan Ezaru | Ezaru@student.tudelft.nl |
![]() |
Elena Uleia | E.Uleia@student.tudelft.nl |
![]() |
Ana Cristiana Marcu | A.C.Marcu-1@student.tudelft.nl |
![]() |
Serban Alexandru Ungureanu | Ungureanu-2@student.tudelft.nl |
Requirements
- GitLab SaaS or Self-hosted
- Java 17+
- Gradle 7.0+
- Linux or WSL 2+ if you're using Windows
- Python
- Local clone of Labracore
- Local clone of the GitBull frontend server
Installation
You may clone the project through git. Follow the instructions on how to install and configure Labracore from its repository.
- You will also need to set the
gitbull.statistics.gitlab-url
. It defaults tohttps://courses.ewi.tudelft.nl/gitlab
. Make sure to always include thehttps://
. - You will also need to provide a username and a key for the user that will run the statistics. This profile needs to have admin access, and the key requires all
read_
features.- For developers who are part of team AREAS, check the bottom of the SP-GITLAB master document, where you will find a username and key.
Setting up GitBull
After cloning the project, you will need to navigate to /src/main/resources/
and rename the application.properties.template
file to application.properties
.
Change variables to match your GitLab instance URL, your personal access token with the api
scope (for operations done by the application itself, mainly scheduling of reports), GitBull frontend application secret, Labracore clone secret and others.
Statistics
By default, the external statistics module (Geit for now) is disabled. The statistics module requires use of a Linux machine, or a Windows machine with WSL installed.
To enable the module, navigate to application.properties
.
- In order to perform the Geit installation, set
gitbull.statistics.install-statistics
totrue
. - For any script analysis to actually run, you also need to set
gitbull.statistics.enable-scheduler
totrue
. By default, it will run every minute. To change this behavior, head to thestatistics.StatisticsScheduler
class, where instructions on changing the scheduling can be easily found (including some preset values).
Setting up Labracore
You must add the users you want to be part of GitBull as well in the application's database. See DevDatabaseLoader
and ProdDatabaseLoader
in Labracore.
Further information about Labracore can be found here.
Running the project
The GitBull backend, frontend, Labracore and GitLab instance must all run for the system to function correctly.
You may build and run the GitBull backend server or Labracore through an IDE such as IntelliJ or the console command ./gradlew build bootRun
.
You may run the GitBull frontend through the line console command npm run dev
.
Further information
Read For developers for more information about aspects of the project, especially application properties.