Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gh-397: Add getting started info to dev guide #400

Merged
merged 3 commits into from
Sep 22, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions docs/development-guide/introduction.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Development

!!! info "Work in Progress"

This page is under construction. To propose additions or changes, please use the pencil button above on the right.
This development guide will take you through the steps required to start development work with Gaffer.
This guide is not for end users of Gaffer and is instead targeted at those who wish to develop Gaffer or build Gaffer extensions.

## Source Control

Expand All @@ -11,6 +10,25 @@ Development of Gaffer is done on the
GitHub repositories under the [GCHQ
Organization](https://github.com/orgs/gchq/repositories).

## Repositories

The [Gaffer core repo](https://github.com/gchq/Gaffer) contains the main Gaffer product.
If you are completely new to Gaffer you can try out our [Road Traffic Demo](https://github.com/gchq/Gaffer/blob/master/example/road-traffic/README.md) or look at our example [deployment guide](../development-guide/example-deployment/project-setup.md).

The [gaffer-tools repo](https://github.com/gchq/gaffer-tools) contains a number of useful tools that assist in working with Gaffer.
These include:

- `gafferpy` - Allows operations against a graph to be executed from a Python shell
- `mini-accumulo-cluster` - Allows a mini Accumulo cluster to be spun up for testing purposes
- `performance-testing` - Methods of testing the performance of ingest and query operations against a graph
- `random-element-generation` - Code to generate large volumes of random graph data

The [Gaffer docker repo](https://github.com/gchq/gaffer-docker) contains the code needed to run Gaffer using Docker or Kubernetes.
More information about running a containerised instance of Gaffer can be found in our [adminstration guide](../administration-guide/introduction.md).

It is also worth noting the [koryphe repo](https://github.com/gchq/koryphe) as this is a key dependency for Gaffer.
It contains an extensible functions library for filtering, aggregating and transforming data based on the Java Function API.

## Building Gaffer

### Build Instructions
Expand All @@ -32,4 +50,4 @@ detail](ways-of-working.md). All contributors must sign the [GCHQ Contributor
Licence Agreement](https://cla-assistant.io/gchq/Gaffer).

You can quickly and easily contribute towards Gaffer using a [remote coding
environment](remote-coding-environments.md) such as GitHub Codespaces or Gitpod.
environment](remote-coding-environments.md) such as GitHub Codespaces or Gitpod.