Skip to content

Getting Started

Welcome to the Logbook contributor documentation. This site covers all projects in the Logbook ecosystem.

Repository Structure

Logbook consists of multiple independent repositories:

RepositoryPurpose
apiExpress/TypeScript API backend with TSOA, TypeORM, Neo4j
appReact Native/Expo mobile app
webLanding page (React/Vite/Tailwind)
sdkTypeScript SDK generated from OpenAPI spec
infraAzure infrastructure as OpenTofu stacks (api, web, docs)
docsDocumentation (markdown) site for the codebase

Quick Start

Choose a project to get started:

Cross-Repository Workflow

When making API changes that affect consumers:

  1. API changes - Modify controllers in the api repo
  2. Regenerate routes - Run pnpm generate:openapi in api
  3. SDK regeneration - Run pnpm generate in sdk
  4. SDK publishing - SDK is published to Buildkite and consumed by the app

Tech Stack Overview

TechnologyUsage
TypeScriptAll backend and SDK projects
ReactApp (Native) and Web (Vite)
Express 5API backend
PostgreSQLPrimary database (TypeORM)
Neo4jGraph database for relationships
RedisQuery caching
AzureInfrastructure (App Service, PostgreSQL Flexible Server, Static Web Apps, Key Vault)
OpenTofuInfrastructure as code (infra/)

Next Steps

Built with VitePress