General Information Graph (GIG) is a large scale information storage, querying and processing system for public information. With GIG, we aim to improve the quality of information which is publicly available on a multitude of social, political, and economic areas, and make it easier and more efficient to access, so it can be put to gainful use.
The directory structure of GIG:
conf/ Configuration directory
app.conf GIG server configuration file
routes Routes definition file
app/ App sources
init.go Interceptor registration
cache/ Cache Directory
controllers/ App controllers
api/ Inbound/Outbound API controllers
data/ Data Files for importing
models/ Model classes
repositories Model Repositories
storages/ Storage Handlers
utilities/
config/ Configuration Handler Class
crawlers/ Data Crawler Classes
entity_handlers/ Entity Management Classes
importers/ Data Importer Classes
normalizers/ Normalizer Classes
parsers/ Source Parser Classes
request_handlers/ Request Handler Classes
views/ Templates directory
messages/ Message files
public/ Public static assets
css/ CSS files
js/ Javascript files
images/ Image files
tests/ Test suites
GIG Eco-System:
- Golang
- Revel
- Mongo Server for Database Hosting
- Docker for Deploying Minio Server
- Minio Server for File Hosting
- Python for NER Recognition Server
- Google Custom Search API
To set up the GIG runtime environment and dependency servers using Kubernetes, refer to Server Setup using Kubernetes.
Configure mongo.path at conf/app.conf using the mongodb and minio IPs. Refer How to Configure the Server
[dev]
...
mongo.path = mongodb://developer:password@localhost:27017/gig
...
minio.endpoint = localhost:9001
revel test ""
revel build "" build -m prod
./build/run.sh