> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openfinance-hackathon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Setting up the Starter Kit

> A full-stack starter kit for building applications with Open Finance APIs, including Node.js backend, Vite front-end, Swagger API docs, and secure handling of OAuth, payments, and product data.

This starter kit gives teams a fast, full-stack head start for building applications with Open Finance APIs. The repository provides a Node.js backend with Express.js for API routing, secure handling of sensitive data with `crypto-js` and `jose` (for JWTs and encryption), and utilities like `axios` for making HTTP requests.

It also includes a modern front-end setup using Vite, walking you through key Open Finance journeys. The kit is designed to run locally for development or deploy easily to a cloud environment, with basic Swagger documentation for the API available at `/api-docs` and the front-end interface accessible at `/client`.

With this setup, teams can quickly register users, handle OAuth consent, manage tokens, access banking and payment data, initiate payments, confirm payees, and explore products and leads — all from a unified backend and front-end environment.

## Clone the Repository

Follow these steps to clone, customize with your certificates (e.g., API keys, client certs for secure Open Finance endpoints), and extend for your hackathon project:

```bash theme={null}
git clone https://github.com/open-finance-os/hackathon-starter-kit
cd hackathon-starter-kit
```

## Install the Dependencies

```bash theme={null}
npm install
```

This installs all required dependencies from `package.json`, including:

* **express** – For building the API server.
* **axios** – For making API calls to Open Finance providers.
* **crypto-js** and **jose** – For handling encryption, signing, and JWTs (commonly used in Open Finance authentication).
* **Swagger** – For API documentation.
* **Vue & Vite** - For a modern front-end

## Add Certificates, Keys, and Client ID from Your Client Pack

### Step 1: Set `CLIENT_ID` and `SIGNING_KEY_ID`

Open the api/config.js file and set the variables using the IDs provided in your client pack:

```js theme={null}
//
// // SET ME FROM THE CLIENT PACK
const CLIENT_ID = '';
const SIGNING_KEY_ID = '';
//
```

### Step 2: Add the Certificates

Copy the following files from your client pack into the `api/certificates` folder:

* `client_signing.key`
* `client_transport.key`
* `client_transport.pem`

## Run the Server Locally

Start the server in development mode (with automatic restarts via nodemon):

```bash theme={null}
npm run dev
```

## Access the Server

Once the server is running, you can access:

* **Swagger API Documentation:** [http://localhost:1411/api-docs](http://localhost:1411/api-docs)
* **Front-End Interface:** [http://localhost:1411/client](http://localhost:1411/client)
