The knowledge aggregator
Gakusci is a web aggregator that can be used to search for any document/information/piece of knowledge about a specific topic (research, books, music, ...).
Gakusci directly retrieves data from some platforms dedicated to a search domain.
The application can search for documents from different domains (some of them will be dealt in the future):
For now, Gakusci only interacts with services that expose a public API and do not require authentication. Their API can be REST(-like/-ful) or based on ATOM/RSS syndication.
You simply build it with:
gradle build
You run it with:
gradle run
You can create a fat JAR like this:
gradle jar
and launch it with:
java -jar build/libs/<jar_name>.jar
If you want to run tests:
gradle test
You can build a docker image of the application with:
gradle jibDockerBuild
It uses Jib in order to automate the creation of a docker image.
If you want to run it "in production", because you want to get your own instance, run this command:
docker run -it -p 80:80 --rm gakusci -config=/app/resources/application-prod.conf
You can also build an image tarball and load it with:
gradle jibBuildTar
docker load --input build/jib-image.tar
More info here
A basic endpoint:
/api/v1/{search_type}/?q=<query>
Where searth_type is one of :
Get at most N elements
/api/v1/{search_type}/?q=<query>&rows=N
You can paginate the results like this:
/api/v1/{search_type}/?q=<query>&start=0&rows=N
This web application is under CeCILL v2.1.