<!-- Make sure this file is in sync with the Getting started section in README -->

# Getting started

You can follow our getting started guide, which will provide instructions on how to create an app using plain Node.js code, or the [Express](https://expressjs.com/) framework. Both examples are written in Typescript.

- [Getting started](getting_started.md)
  - [Install dependencies](getting_started.md#install-dependencies)
  - [Set up base files](getting_started.md#set-up-base-files)
  - [Set up environment](getting_started.md#set-up-environment)
  - [Set up Context](getting_started.md#set-up-context)
  - [Running your app](getting_started.md#running-your-app)
- [Performing OAuth](usage/oauth.md)
  - [Add a route to start OAuth](usage/oauth.md#add-a-route-to-start-oauth)
  - [Add your OAuth callback route](usage/oauth.md#add-your-oauth-callback-route)
  - [Fetching sessions](usage/oauth.md#fetching-sessions)
  - [Detecting scope changes](usage/oauth.md#detecting-scope-changes)
- [Make a REST API call](usage/rest.md)
- [Make a GraphQL API call](usage/graphql.md)
- [Create a Client using `withSession`](usage/withsession.md)
- [Webhooks](usage/webhooks.md)
  - [Register a Webhook](usage/webhooks.md#register-a-webhook)
  - [Process a Webhook](usage/webhooks.md#process-a-webhook)
- [Create a `CustomSessionStorage` Solution](usage/customsessions.md)
  - [Usage Example with Redis](usage/customsessions.md#example-usage)
- [Known issues and caveats](issues.md)
  - [Notes on session handling](issues.md#notes-on-session-handling)
