ghs
ghs copied to clipboard
GitHub Search: Platform used to crawl, store and present projects from GitHub, as well as any statistics related to them
GHSearch Platform
This project is made of two subprojects:
-
application
: The main application has two main responsibilities:- Crawling GitHub and retrieving repository information. This can be disabled with
app.crawl.enabled
argument. - Serving as the backend server for website/frontend
- Crawling GitHub and retrieving repository information. This can be disabled with
-
front-end
: A frontend for searching the database, which is available at http://seart-ghs.si.usi.ch
Setup & Run Project Locally (for development)
The detailed instruction can be find here.
Dockerisation :whale:
The instruction to deploy the project via Docker is available here.
More Info on Flyway and Database Migration
To learn more about Flyway you can read on here.
FAQ
How can I report a bug or request a feature or ask a question?**
Please add a new issue and we will get back to you very soon.
How add a new programming language to platform?
- Add the new language name to
supported_languages
table via:- Flyway migration file (recommended): Create a new file
src/main/resources/db/migration/Vx__NewLangs.sql
containing:INSERT INTO supported_language (name,added) VALUES ('C++',current_timestamp);
- Or, manually editing the table.
-
Note:
- A comprehensive list of valid languages (and their aliases) are available at here.
- Plus you can see a similar list at GitHub Advanced Search Page.
- You can use the following link to verify if a language is valid, and gives an upper-bound for the number of new repositories to be mined:
- Example:
C++
->C%2B%2B
:https://api.github.com/search/repositories?q=is:public+stars:%3E10+language:C%2B%2B
.
- Example:
- Flyway migration file (recommended): Create a new file
- Add the new language icon: See this guide