---
bodyclass: docs
layout: docs
headline: Spine Basics - Java
sidenav: doc-side-tutorial-nav.html
type: markdown
---
<p class="lead">Coming soon...</p>
<hr>

<p class="lead">This tutorial provides a basic Java programmer's introduction to
working with Spine.</p>

By walking through this example you'll learn how to:

- Define events, commands, and rejections in .proto files.
- Define state of aggregates, process managers, and projections in .proto files.
- Handle commands producing events.
- Subscribe to events and build projections.
- TBD.

<div id="toc"></div>

## Why use Spine Event Engine?

TBD

## Example code and setup

TBD

## Event Storing Basics

TBD

### Defining events

TBD

### Defining commands

TBD

### Defining rejections

TBD

## Defining entity states

TBD

## Generating the code

TBD

---
bodyclass: docs
layout: docs
headline: Spine Basics - Java
sidenav: doc-side-tutorial-nav.html
type: markdown
---
<p class="lead">Coming soon...</p>
<hr>

<p class="lead">This tutorial provides a basic Java programmer's introduction to
working with Spine.</p>

By walking through this example you'll learn how to:

- Define events, commands, and rejections in `.proto` files.
- Define state of aggregates, process managers, and projections in `.proto` files.
- Handle commands producing events.
- Subscribe to events and update projections.
- TBD.

<div id="toc"></div>

## Why use Spine Event Engine?

TBD

## Example code and setup

TBD

## Event Storing Basics

TBD

### Defining events

TBD

### Defining commands

TBD

### Defining rejections

TBD

## Defining entity states

TBD

## Generating the code

TBD

Update formatting for Java basic tutorial
Update formatting for Java basic tutorial
