Please reload the page to view the latest COVID-19 information.

# Overview

Welcome to ICJIA Research Hub Developer Guide!

This guide is meant for developers and other curious citizens who are interested in technical details of the ICJIA Research Hub project and making contributions to it.

# Contents

You will find in this Guide:

  • Overview: Current page.
  • Project Architecture: Explanation for the ICJIA Research Hub project architecture.
  • Contributing
    • Code of Conduct: Code of conduct for contributors.
    • Codebase: Guide for contributing to the project's codebase.
    • Contents: Guide for contributing to the project's contents.
  • API Reference: Reference for the ICJIA Research Hub API.
  • Data Schema: Explanation for the ICJIA Research Hub data schema.

# Contributing to ICJIA Research Hub

NOTE

The ICJIA Research Hub project and everyone participating in it is governed by a shared Code of Conduct found here. By participating, you are expected to uphold this code.

We appreciate your interest in contributing to ICJIA Research Hub! 😍

ICJIA Research Hub aspires to be an open-source project that allows you as a member of the public to shape it to best reflect your interests and concerns and improve your user experience. In that spirit, we ask for your contributions to the ICJIA Research Hub project, either to its codebase or contents.

# Running locally

You can run its individual elements locally on your workstation. In order to replicate the full ICJIA Research Hub experience, however, you will have to setup proxying for frontend apps.

# Research Hub (also Studio or Preview)

The following example is for the Research Hub main app. Change the repo name for Research Hub Studio and Research Hub Preview apps.

NOTE

All three apps expects the API server to be running to access content data and user information.

# clone source repo
git clone https://github.com/ICJIA/researchhub.git

# change directory
cd researchhub

# install node modules
npm install

# serve for development
npm run serve

# Build for production.
npm run build

# API server

NOTE

GitHub repository for the API server contains an older setup. The API server is currently not deployed using Docker. However, you can still use it for local development.

TIP

Refer to the Docker Compose documentation for more options.

# clone source repo
git clone https://github.com/ICJIA/researchhub-api.git

# change directory
cd researchhub-api

# bring up compose
docker-compose up

# Documentation

# clone source repo
git clone https://github.com/ICJIA/researchhub-docs.git

# change directory
cd researchhub-docs

# install node modules
npm install

# serve for writing
npm run docs:dev

# build to static files.
npm run docs:build

Notice of Federal Funding and Federal Disclaimer

This Web site is funded through a grant from the Bureau of Justice Statistics, Office of Justice Programs, U.S. Department of Justice. Neither the U.S. Department of Justice nor any of its components operate, control, are responsible for, or necessarily endorse, this Web site (including, without limitation, its content, technical infrastructure, and policies, and any services or tools provided).