This is a Spring Boot application that fetches and scores GitHub repositories based on stars, forks, and update recency.
- Search GitHub repositories by language and date of creation
- Score repositories by stars, forks, and freshness
- Display results in a stylish, sortable table. It includes lightweight frontend (
index.html) using HTML, JavaScript, and DataTables)
- Java Version: 17
- Build Tool: Gradle 8.11.1
For IntelliJ IDEA:
Go to File > Settings > Build, Execution, Deployment > Compiler > Annotation Processors and enable "Annotation Processing".
- Without a token, GitHub limits you to 60 requests/hour
- With a token, you get 5000 requests/hour
The app will still work without a token, but you may run into limitations if testing frequently.
- Go to https://github.com/settings/tokens
- Click "Generate new token (classic)"
- You don't need to select any scopes
- Copy your token
- Edit
application.propertiesand paste your token:
github.api.token=ghp_your_token_here./gradlew clean build./gradlew bootRun./gradlew test./gradlew integrationTesthttp://localhost:8080/index.html
Swagger UI is available to explore and test the APIs:
- Java 17
- Gradle 8.11.1
- Spring Boot 3
- Spring WebFlux (with WebClient)
- DataTables.js
- HTML + JS + CSS (no frameworks)