Developers

ArkID is entering its public alpha: code is migrating to the new organisation space and early adopters can help shape the Universal Research Identity Platform.

GitHub Organisation

Current Project Status

ArkID is preparing the public alpha release while hardening the backend service and migrating artefacts into the organisation GitHub space. Funding discussions and contributor onboarding continue in parallel.

Phase 1: Core Identity Infrastructure (In Flight)

Stock Keycloak integration, PostgreSQL relational database, CI pipeline

Q4 2025

Public α-preview (Keycloak Admin REST integration, ISO-27729 resolver, public resolver API)

Q1-Q2 2026

ORCID, DOI, ROR import pipelines + security gates

View full implementation timeline

Technology Stack

ArkID is built using modern, open-source technologies designed for scalability and security

Core Infrastructure

Enterprise-grade identity and access management foundation

  • Keycloak (stock, no custom SPIs)
  • PostgreSQL relational schema
  • Redis caching
  • Elasticsearch

Backend Stack

Robust API and business logic implementation

  • Express.js (TypeScript)
  • Node.js
  • Prisma ORM
  • REST + GraphQL endpoints

Frontend Stack

Modern web interface with responsive design

  • Next.js (React)
  • TypeScript
  • TailwindCSS
  • Tabler-inspired UI components

DevOps & Deployment

Containerized services with CI/CD pipeline

  • Docker & Docker Compose
  • Kubernetes-compatible
  • Automated testing
  • Security audit tools

Architecture Overview

ArkID Components

Core Infrastructure

  • Keycloak identity provider (stock configuration)
  • Node.js ArkID service (Admin REST + events)
  • PostgreSQL relational schema

Identity Services

  • ISO-27729 ID generator
  • Relationship tracking
  • Roadmap: W3C verifiable credentials

Integration Layer

  • REST & GraphQL APIs
  • External ID integrations
  • ETL pipelines

Entity Relationships

ArkID creates a connected graph between different entity types, enabling complete traceability from initial ideas through to final research products:

Ideas (ARKI)
Initial research concepts
Projects (ARKP)
Funded initiatives
Products (ARKD)
Research outputs
Users (ARKU)
Researchers with ORCID integration
Organizations (ARKO)
Institutions with ROR integration

Development Setup

The public repositories under ArkID-by-ResearchArk are opening shortly. Until they land, here is the high-level tooling we'll support once the code is live.

Prerequisites

  • Docker & Docker Compose

    For running Keycloak, PostgreSQL, and other services

  • Node.js & Bun

    Preferred tooling for Next.js + monorepo workflows

Quick Start

# Clone the public repo (coming soon)
git clone https://github.com/ArkID-by-ResearchArk/arkid.git
cd arkid
# Start the development environment
docker compose up -d
# Install dependencies & launch frontend
bun install
bun run dev:frontend

Legacy prototype: alpha912/ArkID remains available for reference until the organisation repos are public.

Project Structure

Backend Components

  • /backend/src/configCore configuration
  • /backend/src/middlewareAPI middleware
  • /backend/src/routesAPI endpoints
  • /config/keycloakKeycloak configuration

Frontend Components

  • /frontend/src/appNext.js 15 app router
  • /frontend/src/componentsReusable UI components
  • /frontend/src/utilsUtility functions

How to Contribute

We welcome contributions from the community! Here's how you can get involved:

1

Find an Issue

As soon as the organisation repositories are public you'll find issues labeled 'help wanted' or 'good first issue' in the ArkID-by-ResearchArk org.

2

Fork the Repository

Fork the relevant ArkID-by-ResearchArk repository (or use the legacy prototype until the public repo is live).

3

Create a Branch

Make your changes in a new branch with a descriptive name related to the issue.

git checkout -b feature/your-feature-name
4

Make Your Changes

Implement your changes, ensuring they adhere to the project's standards and include tests where appropriate.

5

Submit a Pull Request

Until the public repositories land in the organisation space, open PRs against the legacy prototype repo. Clearly describe the changes you've made and link to the relevant issue.

Code of Conduct

By participating in this project, you agree to abide by our Code of Conduct. We are committed to making participation in this project a harassment-free experience for everyone.

Read our Code of Conduct

Licensing

By contributing to ArkID, you agree that your contributions will be licensed under the Apache License 2.0.

View the license

Ready to Build with ArkID?

Join our developer community and help shape the future of research identity infrastructure.